Sobes.tech
Junior — Middle

Каква е ролята и предназначението на ключовата дума volatile в езика за програмиране?

sobes.tech AI

Отговор от AI

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

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

Пример:

volatile boolean flag = false;

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

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