Назад к вопросам
Middle
68
questionbank
Что означает переменная volatile?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Гарантирует, что чтение переменной всегда берет последнее записанное значение, а запись — видна всем потокам сразу. Используется для обеспечения видимости изменений между потоками, но не обеспечивает атомарность сложных операций.
Пример:
class SomeClass {
volatile boolean isRunning = true;
void stopLoop() {
isRunning = false;
}
void runLoop() {
while (isRunning) {
// do something
}
}
}
Здесь volatile гарантирует, что изменение isRunning в одном потоке будет видно другому потоку, который проверяет это условие в цикле.