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

Для чего используют volatile

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

Основные случаи использования:

  1. Флаги для остановки потоков (например, while (!stopFlag)).
  2. Простые shared-переменные, когда атомарность не требуется.

Пример:

java
public class VolatileExample {
    private volatile boolean flag = true;

    public void stop() {
        flag = false;
    }

    public void run() {
        while (flag) {
            // Работа потока
        }
    }
}

Важно: volatile не обеспечивает атомарность составных операций (например, инкремента). Для этого нужны synchronized или атомарные классы.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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