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

Что такое монитор Phaser

Phaser — это синхронизатор из пакета java.util.concurrent, который позволяет гибко управлять выполнением потоков в несколько фаз. Он похож на CountDownLatch и CyclicBarrier, но более универсален: количество участников может динамически меняться, а фазы могут повторяться.

Ключевые особенности:

  • Потоки регистрируются через register() или bulkRegister()
  • Ожидание фазы через arriveAndAwaitAdvance()
  • Можно завершить фазу досрочно (arriveAndDeregister())
  • Количество фаз не ограничено

Пример:

java
Phaser phaser = new Phaser(3); // 3 участника
new Thread(() -> {
    phaser.arriveAndAwaitAdvance(); // ждем всех
    System.out.println("Thread 1 phase 1");
}).start();

new Thread(() -> {
    phaser.arriveAndAwaitAdvance();
    System.out.println("Thread 2 phase 1");
    phaser.arriveAndDeregister(); // выходим после 1 фазы
}).start();

Используется для сложных сценариев синхронизации, где количество потоков меняется.

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

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

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

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