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

Что такое Happens Before

Happens Before — это отношение в Java Memory Model, гарантирующее порядок выполнения операций между потоками. Если действие A happens-before действие B, то результат A виден для B.

Пример:

java
int x = 0;
boolean ready = false;

// Поток 1
x = 42;
ready = true; // Запись happens-before чтение (если ready volatile)

// Поток 2
if (ready) {
System.out.println(x); // Гарантированно увидит 42
}

text

Ключевые случаи Happens Before:  
- **Синхронизация** (synchronized, volatile, Lock)  
- **Запуск/завершение потока** (start() happens-before действия потока, join() happens-before код после него)  
- **Инициализация** (запись final полей happens-before чтение объекта другим потоком)  

Без happens-before возможен reordering и visibility issues.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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