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