Атомарность присваивания зависит от типа переменной salary
.
Тем не менее, это не единственный аспект, на который нужно обратить внимание. Если значение переменной salary
читается из несколькоих потоков, то необходимо обеспечить видимость изменения этой переменой другим потокам. Ваш пример ее обеспечивает из-за synchronized
. Хотя аналогичного эффекта можно достичь с помощью модификатора volatile
или атомарных ссылок (AtomicRef
или другой класс, в зависиомсти от типа).
PS: Прочитайте уже книгу "Concurrency in practice" и многое встанет на свои места. Не дело это, изучать тонкости многопоточного программирования с помощью форумов.