Назад к вопросам
Junior — Middle
53
Объясните назначение и поведение ключевого слова volatile в языке Java.
Ответ от нейросети
sobes.tech AI
В Java ключевое слово volatile используется для обозначения переменной, значение которой может изменяться несколькими потоками.
Назначение volatile:
- Гарантирует, что чтение и запись переменной происходит напрямую из основной памяти, а не из кэша процессора.
- Обеспечивает видимость изменений переменной между потоками — если один поток изменил значение, другие сразу увидят обновление.
Важно:
volatileне обеспечивает атомарность сложных операций (например, инкремент), только видимость.- Используется для флагов и простых состояний, где не нужна синхронизация блоками.
Пример:
class Example {
private volatile boolean flag = false;
public void setFlag() {
flag = true; // изменение будет видно другим потокам сразу
}
public void checkFlag() {
if (flag) {
// выполнится, как только flag станет true
}
}
}