Back to questions
Junior — Middle
71
В каких ситуациях рекомендуется применять ключевое слово volatile в Java?
Answer from AI
sobes.tech AI
Ключевое слово volatile в Java рекомендуется применять, когда переменная может изменяться несколькими потоками, и необходимо обеспечить видимость изменений этой переменной между потоками без использования полной синхронизации.
Основные ситуации для использования volatile:
- Переменная используется для флагов или индикаторов состояния, которые читаются и записываются разными потоками.
- Нужно гарантировать, что запись в переменную одним потоком сразу станет видна другим потокам.
Важно: volatile не обеспечивает атомарность операций (например, инкремент), а только гарантирует видимость и упорядоченность чтений/записей.
Пример:
class Flag {
private volatile boolean active = true;
public void stop() {
active = false; // изменение будет видно другим потокам
}
public void run() {
while (active) {
// выполняется, пока active == true
}
}
}