Sobes.tech
Назад к вопросам
Junior — Middle
107

Какова роль и назначение ключевого слова volatile в языке программирования?

Компании, где спрашивали
Stroki
СБЕРСБЕР
Альфа-БанкАльфа-Банк
Firecode
БАРС группБАРС групп
OZONOZON
eRaga Infosystem

Ответ от нейросети

sobes.tech AI

Ключевое слово volatile в Java используется для обозначения переменной, значение которой может изменяться в разных потоках. Оно гарантирует, что чтение и запись этой переменной будут происходить напрямую из основной памяти, а не из кэша процессора, обеспечивая видимость изменений между потоками.

Это предотвращает ситуации, когда один поток не видит обновления переменной, сделанные другим потоком. Однако volatile не обеспечивает атомарность операций, поэтому для сложных операций синхронизация все равно нужна.

Пример:

volatile boolean flag = false;

// Поток 1
flag = true;

// Поток 2
if (flag) {
    // увидит обновленное значение
}