Назад к вопросам
Т-Банк
Junior — Middle
66
Можете объяснить принцип работы класса CountDownLatch в Java и для чего он используется?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Класс CountDownLatch в Java используется для синхронизации потоков. Он позволяет одному или нескольким потокам ждать, пока другие потоки выполнят определённые операции.
Принцип работы:
- При создании
CountDownLatchзадаётся счётчик — количество событий, которые должны произойти. - Каждый раз, когда одно из этих событий происходит, вызывается метод
countDown(), уменьшающий счётчик на 1. - Потоки, вызвавшие
await(), блокируются и ждут, пока счётчик не станет равен нулю.
Пример использования:
CountDownLatch latch = new CountDownLatch(3); // Ждём 3 события
// Поток 1
new Thread(() -> {
// Выполнение задачи
latch.countDown(); // Сигнализируем, что задача выполнена
}).start();
// Поток 2 и 3 аналогично
// Главный поток ждёт, пока все 3 задачи не завершатся
latch.await();
System.out.println("Все задачи завершены, продолжаем работу");
Таким образом, CountDownLatch полезен, когда нужно дождаться завершения нескольких операций перед продолжением работы.