Назад к вопросам
IT One
Junior — Middle
68
В каких случаях рекомендуется применять ключевое слово volatile в Java?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Ключевое слово volatile в Java применяется для переменных, которые могут изменяться в нескольких потоках одновременно. Оно гарантирует, что:
- Чтение переменной всегда будет происходить из основной памяти, а не из кэша потока.
- Запись в переменную сразу становится видимой для других потоков.
Рекомендуется использовать volatile, когда:
- Переменная используется для флагов или состояний, которые читаются и записываются разными потоками.
- Нет необходимости в полной синхронизации, но нужна гарантия видимости изменений.
Пример:
public class Flag {
private volatile boolean active = false;
public void activate() {
active = true; // изменение будет видно другим потокам сразу
}
public boolean isActive() {
return active; // всегда актуальное значение
}
}
Важно: volatile не обеспечивает атомарность сложных операций, только видимость изменений.