Junior — Middle
102
Care este rolul cuvântului cheie volatile în Java și în ce cazuri este justificat utilizarea sa?
Companiile au fost întrebate
Răspuns de la AI
sobes.tech AI
Ключевое слово volatile в Java используется для обозначения переменной, значение которой может изменяться в разных потоках. Оно гарантирует, что чтение и запись этой переменной будут происходить напрямую из основной памяти, а не из кэша процессора, что обеспечивает видимость изменений между потоками.
Использование volatile оправдано, когда:
- Нужно обеспечить видимость изменений переменной между потоками.
- Нет необходимости в атомарности сложных операций (например, инкремент не является атомарным).
Пример:
public class Flag {
private volatile boolean active = true;
public void stop() {
active = false;
}
public void run() {
while (active) {
// выполняем работу
}
}
}
Здесь volatile гарантирует, что когда один поток вызовет stop(), другой поток в методе run() увидит обновленное значение active и завершит цикл.