У меня есть что-то вроде этого:Как выключение CompletionService после завершения в настоящее время выполняются задачи
ExecutorService executor = Executors.newFixedThreadPool(2);
CompletionService<Boolean> completionService = new ExecutorCompletionService<>(executor);
int i = 0;
while (i < 40) {
completionService.submit(getTask());
i++;
}
executor.shutdown();
System.out.println("SHUTDOWN");
После вызова shutdown
все представленные задачи выполняются. Если я звоню shutdownNow
, то в настоящее время выполняются потоки java.lang.InterruptedException
.
Есть ли способ подождать выполненные в данный момент задачи, чтобы выполнить и выполнить другие отправленные задачи?
Мне не нужны все поставленные задачи для завершения. Мне нужно подождать только выполненные в настоящее время 2 задачи и не выполнять другие отправленные задачи. – Kirill
@ Кирилл - ок, я понимаю. См. Мое обновление. –
Похоже, что мне нужно. Спасибо, я попробую – Kirill