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