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

В каких ситуациях рекомендуется применять ключевое слово volatile в Java?

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

sobes.tech AI

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

Основные ситуации для использования volatile:

  • Переменная используется для флагов или индикаторов состояния, которые читаются и записываются разными потоками.
  • Нужно гарантировать, что запись в переменную одним потоком сразу станет видна другим потокам.

Важно: volatile не обеспечивает атомарность операций (например, инкремент), а только гарантирует видимость и упорядоченность чтений/записей.

Пример:

class Flag {
    private volatile boolean active = true;

    public void stop() {
        active = false; // изменение будет видно другим потокам
    }

    public void run() {
        while (active) {
            // выполняется, пока active == true
        }
    }
}