Правильно ли я понимаю что ключевое слово обеспечивает атомарность только в однопоточной среде, а в многопоточной нет?
Asked
Active
Viewed 297 times
1 Answers
3
volatile не обеспечивает атомарность. Его назначение — указать, что переменная может измениться в другом потоке. Следовательно, когда происходит работа с ней, её значение необходимо пересчитывать, а не использовать кэшированную или регистровую копию.
Саша Черных
- 4,314
AndyTrof
- 62
- 1
volatileобеспечивает атомарность. И ни про какие кэши в спеке ни слова, вы путаете с C++. В Java дается консистентность чтения/записи. – Alexey Adamovskiy Apr 09 '19 at 23:24