Sobes.tech
Junior — Middle

Обяснете какво означава ключовата дума volatile в програмирането и за какво се използва.

sobes.tech AI

Отговор от AI

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

Пример:

public class Counter {
    private volatile int count = 0;

    public void increment() {
        count++; // без дополнительной синхронизации это не атомарно, но volatile гарантирует видимость изменений
    }

    public int getCount() {
        return count;
    }
}

Важно понимать, что volatile обеспечивает только видимость изменений, но не атомарность операций.