Встречается на собеседованиях • сегодня

В каких случаях использовать volatile

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

  1. Флаги завершения – простой boolean-флаг для остановки потока.
    java
    volatile boolean running = true;
    public void stop() { running = false; }
  1. Публикация immutable-объектов – если объект неизменяем, его можно безопасно опубликовать через volatile.

    java
    volatile ImmutableObject shared;
  2. Одиночные операции – когда переменная изменяется атомарно (например, int, long), но не подходит для i++.

Не подходит для:

  • Сложных операций (например, инкремент).
  • Составных действий (check-then-act). Для них нужны synchronized или атомики (AtomicInteger и т.д.).
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы