I’m currently reading the “Java Concurrency in Practice” by Brian Goetz. There are a plenty of brilliant code snippets here concerning concurrency in Java. So I want to analyze some of the examples to understand it more detailed. Today we will talk about immutable objects which contain a mutable objects...
Continue reading...Concurrency
Многопоточность в Java
Это – перевод статьи “Threading in Java” автора Beka Kodirov. Вторая часть статьи находится здесь. Чем отличается поток от процесса? Процессы были разработаны для обеспечения многозадачности в операционных системах. Все приложения живут в рамках процессов, а память и ЦПУ выделяются напрямую ядром ОС. При желании можно запустить часть вашего приложения...
Continue reading...Не-атомарность i++, volatile и synchronized
Постфиксный инкремент в Java не является атомарным. Это означает, что в реальности за вызовом i++ скрывается несколько последовательных операций. Переменная сперва считывается из памяти, затем увеличивается на единицу, а результат снова записывается в память. При использовании операции в многопоточном окружении эта особенность может привести к нежелательным последствиям. Если несколько потоков...
Continue reading...