Встречается на собеседованиях • сегодня
Связано ли ключевое слово volatile с Happens-before
Да, связано. volatile гарантирует happens-before между записью в volatile-поле в одном потоке и последующим чтением этого же поля в другом потоке. Это означает, что все изменения, сделанные до записи в volatile-переменную, будут видны после чтения этой переменной в другом потоке.
Пример:
java
class Example {
volatile boolean flag = false;
int value = 0;
void writer() {
value = 42; // гарантированно видно в reader()
flag = true; // happens-before запись
}
void reader() {
if (flag) { // happens-before чтение
System.out.println(value); // гарантированно увидит 42
}
}
}Без volatile нет гарантии, что поток reader() увидит изменения value.

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