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

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