Встречается на собеседованиях • сегодня
Что такое CyclicBarrier
CyclicBarrier — это синхронизатор, который позволяет потокам ждать друг друга перед выполнением определенного барьера. После достижения барьера заданным количеством потоков, выполняется действие (если оно задано) и потоки продолжают работу.
Основные методы:
await()— поток блокируется до достижения барьера.reset()— сбрасывает барьер.
Пример:
java
CyclicBarrier barrier = new CyclicBarrier(3, () -> System.out.println("Barrier reached"));
Runnable task = () -> {
System.out.println(Thread.currentThread().getName() + " waiting");
barrier.await();
System.out.println(Thread.currentThread().getName() + " continued");
};
new Thread(task).start();
new Thread(task).start();
new Thread(task).start();Вывод:
text
Thread-0 waiting
Thread-1 waiting
Thread-2 waiting
Barrier reached
Thread-2 continued
Thread-0 continued
Thread-1 continuedОтличие от CountDownLatch: CyclicBarrier можно использовать повторно, а CountDownLatch — одноразовый.

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