Я помещаю кучу запущенных объектов в ExecutorService:
// simplified content of main method
ExecutorService threadPool = Executors.newCachedThreadPool();
for(int i = 0; i < workerCount; i++) {
threadPool.execute(new Worker());
}
Я ожидаю, что моя программа/процесс остановится сразу после того, как все работники будут выполнены. Но согласно моему журналу, это займет еще 20-30 секунд, пока это не произойдет. Работники не выделяют никаких ресурсов, фактически они ничего не делают в данный момент.
Не поймите меня неправильно, это не очень важная проблема для меня, я просто пытаюсь понять, что происходит, и мне интересно, нормальное поведение.