Back to questions
СБЕР
Альфа-Банк
БАРС групп
OZON
Junior — Middle
117
Какова роль и назначение ключевого слова volatile в языке программирования?
Companies where asked
Stroki
Firecode
eRaga Infosystem
Answer from AI
sobes.tech AI
Ключевое слово volatile в Java используется для обозначения переменной, значение которой может изменяться в разных потоках. Оно гарантирует, что чтение и запись этой переменной будут происходить напрямую из основной памяти, а не из кэша процессора, обеспечивая видимость изменений между потоками.
Это предотвращает ситуации, когда один поток не видит обновления переменной, сделанные другим потоком. Однако volatile не обеспечивает атомарность операций, поэтому для сложных операций синхронизация все равно нужна.
Пример:
volatile boolean flag = false;
// Поток 1
flag = true;
// Поток 2
if (flag) {
// увидит обновленное значение
}