Встречается на собеседованиях • сегодня
Какие гарантии дает volatile
volatile обеспечивает две ключевые гарантии:
- Видимость изменений – запись в volatile-переменную сразу становится видимой для всех потоков.
- Запрет переупорядочивания – операции с volatile не могут быть переупорядочены компилятором или процессором.
Пример:
java
class Example {
private volatile boolean flag = false;
public void setFlag() {
flag = true; // Запись гарантированно видна другим потокам
}
public void checkFlag() {
while (!flag) { // Чтение всегда актуальное
// Ждем изменения флага
}
}
}Ограничения:
- Не гарантирует атомарность составных операций (например,
i++). - Не заменяет
synchronizedилиLockдля сложных сценариев.
Используется для простых флагов или однократных изменений состояния.

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