Встречается на собеседованиях • сегодня
Как ключевое слово volatile помогает при многопоточности
Ключевое слово volatile гарантирует видимость изменений переменной для всех потоков. Оно предотвращает кэширование переменной в регистрах процессора, обеспечивая чтение из основной памяти.
Основные эффекты:
- Видимость - изменения, сделанные одним потоком, сразу видны другим
- Запрет переупорядочивания - компилятор и процессор не могут переставлять операции с volatile-переменными
Пример:
java
class Shared {
volatile boolean flag = false;
}
// Поток 1
shared.flag = true; // изменение сразу видно другим потокам
// Поток 2
while(!shared.flag) { // всегда читает актуальное значение
// ждем
}Ограничения:
- Не обеспечивает атомарность составных операций (например, инкремент)
- Не заменяет synchronized для сложных операций
Используется для простых флагов или состояний, где важна своевременная видимость изменений.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы