Встречается на собеседованиях • сегодня
Какие операции вызывает Happens-Before
Happens-Before в Java определяет порядок выполнения операций между потоками. Основные случаи:
- Синхронизация - выход из synchronized блока happens-before вход в synchronized блок с тем же монитором.
java
synchronized(lock) {
x = 1; // Запись happens-before
}
// ...
synchronized(lock) {
System.out.println(x); // Гарантированно увидит 1
}-
volatile - запись в volatile переменную happens-before чтение той же переменной.
-
Thread.start() - вызов start() happens-before выполнение кода в новом потоке.
-
Thread.join() - завершение потока happens-before возврат из join().
-
Инициализация final полей - запись в final поле happens-before чтение объекта после его полной инициализации.
-
Библиотечные классы - например, CountDownLatch.await() happens-before после countDown().
Happens-Before гарантирует видимость изменений между потоками, но не определяет фактический порядок выполнения инструкций.

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