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

Какие операции может осуществлять Happens-Before

Happens-Before — это отношение гарантированного порядка выполнения операций между потоками в Java. Основные случаи:

  1. Инициализация объекта — завершение конструктора happens-before finalizer.
  2. Синхронизация — unlock монитора happens-before следующему lock того же монитора.
  3. Volatile переменные — запись в volatile happens-before чтение той же переменной.
  4. Thread.start() — вызов start() happens-before выполнение кода в новом потоке.
  5. Thread.join() — завершение потока happens-before возврат из join().

Пример с volatile:

java
volatile boolean flag = false;

// Поток 1
flag = true; // happens-before записи в потоке 2

// Поток 2
if (flag) { // гарантированно увидит true, если поток 1 уже записал
    System.out.println("Flag is true");
}
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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