Sobes.tech
Junior — Middle

Care este rolul și scopul cuvântului cheie volatile în limbajul de programare?

sobes.tech AI

Răspuns de la AI

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

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

Пример:

volatile boolean flag = false;

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

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