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

Что знаешь для реализации happens before

Happens-before — это отношение в Java, гарантирующее, что одна операция видна другой. Оно обеспечивает порядок выполнения и видимость изменений между потоками. Основные способы:

  1. Синхронизация — операции внутри synchronized блока или метода видны другим потокам, входящим в тот же монитор.
java
synchronized (lock) {
    x = 1; // Запись happens-before чтение в другом потоке
}
  1. volatile — запись в volatile переменную happens-before чтение той же переменной.
java
volatile boolean flag = false;
// Поток 1:
flag = true; // happens-before
// Поток 2:
if (flag) { ... }
  1. Thread.start() — код до start() happens-before код в новом потоке.

  2. Thread.join() — код в потоке happens-before код после join().

  3. Классы из java.util.concurrent — например, CountDownLatch, CyclicBarrier, Future.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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