CountDownLatch - это синхронизационный механизм, предоставляемый Java в пакете java.util.concurrent, который позволяет одному или нескольким потокам ждать, пока другие потоки завершат выполнение своих задач.
Принцип работы CountDownLatch заключается в том, что вы создаете объект CountDownLatch с определенным счетчиком, который инициализируется при создании. Затем один или несколько потоков могут уменьшать этот счетчик, вызывая метод countDown(). Другие потоки могут ждать, пока счетчик не станет равным нулю, вызывая метод await().
Пример использования CountDownLatch на Java:
Пример класса Worker:
В этом примере три потока (Worker 1, Worker 2, Worker 3) выполняют свои задачи параллельно, и главный поток ожидает, пока все три потока завершат свои задачи с использованием CountDownLatch.