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

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

Компании, где спрашивали
IT OneIT One

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

sobes.tech AI

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

  • Чтение переменной всегда будет происходить из основной памяти, а не из кэша потока.
  • Запись в переменную сразу становится видимой для других потоков.

Рекомендуется использовать volatile, когда:

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

Пример:

public class Flag {
    private volatile boolean active = false;

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

    public boolean isActive() {
        return active; // всегда актуальное значение
    }
}

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