Встречается на собеседованиях • сегодня
Работал ли с Phaser
Phaser — это класс из пакета java.util.concurrent, который предоставляет гибкую синхронизацию потоков, аналогично CountDownLatch и CyclicBarrier, но с более динамичными возможностями.
Основные особенности:
- Поддерживает динамическое изменение числа участников (
register(),arriveAndDeregister()). - Позволяет разбивать выполнение на фазы (этапы).
- Может ожидать завершения фазы (
arriveAndAwaitAdvance()).
Пример:
java
Phaser phaser = new Phaser(3); // 3 участника
new Thread(() -> {
phaser.arriveAndAwaitAdvance();
System.out.println("Thread 1 завершил фазу 1");
}).start();
new Thread(() -> {
phaser.arriveAndAwaitAdvance();
System.out.println("Thread 2 завершил фазу 1");
}).start();
phaser.arriveAndAwaitAdvance(); // Основной поток ждёт
System.out.println("Все потоки завершили фазу 1"); Используется в задачах, где количество потоков может меняться, например, в пошаговых симуляциях или многоэтапных обработках данных.

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