0

Я знаю, что есть два способа установить: -отношения в java: синхронизированные блоки и методы, ключевое слово volatile. (если я прав, он не работает с окончательными полями). Мой вопрос: делают ли атомарные переменные из параллельного пакета одинаковыми? может произойти - прежде чем они будут установлены ими?Устанавливать-до отношений в Java

ответ

6

Да, они потокобезопасны и, следовательно, вы можете определить, происходит ли это до и после отношений.

Операции с классом AtomicXxxx используются волатильны, CAS, атомный add или ленивый/неупорядоченный набор. Все имеют некоторые гарантии безопасности потока, но имеют более легкий вес, чем синхронизированный.

+1

Более конкретно, Javadoc для пакета java.util.atomic обещает, что все объекты AtomicXxxxxxxx работают как переменные volatile с дополнительными функциями. –