CountDownLatch
– нужен когда требуется чтобы какой-то поток ждал пока не выполняться какое-то количество потоков.
В примере ниже мейн останавливает свою работу с помощью await
и когда в потоках вызовется countDown
три раза, мейн продолжает свою работу.
Пример программы:
Вывод:

Из консоли видно, что три потока завершили свое выполнение и сразу после этого ожил мейн.
Table of Contents
CyclicBarrier в Java
Изучите CyclicBarrier в Java: как синхронизировать потоки и запускать дополнительное действие после завершения заданного количества потоков. Пример кода и объяснение работы.
Time to read: 10
Корректная остановка потоков с помощью Interrupt
Узнайте, как правильно останавливать потоки в Java с помощью interrupt(). Почему Thread.stop() опасен и как использовать isInterrupted() для безопасного завершения работы потоков.
Time to read: 14
Callable в Java
Callable vs Runnable: как возвращать результат из потока в Java. Примеры использования FutureTask для получения результатов асинхронных операций.
Time to read: 12