Встречается на собеседованиях • сегодня
Как будешь использовать join при ThreadPoolExecutor
В ThreadPoolExecutor метод join не используется напрямую, так как он относится к классу Thread. Вместо этого для ожидания завершения задач в пуле потоков применяют:
shutdown()+awaitTermination()- стандартный подход:
java
executor.shutdown();
executor.awaitTermination(60, TimeUnit.SECONDS);- Использование
CountDownLatchдля синхронизации:
java
CountDownLatch latch = new CountDownLatch(taskCount);
executor.execute(() -> {
// задача
latch.countDown();
});
latch.await(); // ждем завершения всех задач- Через
Futureпри использованииsubmit():
java
Future<?> future = executor.submit(task);
future.get(); // блокирует пока задача не завершитсяВажно: ThreadPoolExecutor сам управляет потоками, и прямое взаимодействие с ними не требуется. Для ожидания завершения всех задач лучше использовать вышеуказанные механизмы.

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