ExecutorService awaitTermination застревает

Я создал пул потоков фиксированного размера с помощью Executors.newFixedThreadPool (2) и выполнил 10 Runnable объектов. Я установил точки останова и проследил выполнение. Однако fixedSizeThreadPool.awaitTermination () не позволяет мне продолжить, даже если все задачи выполнены.

В основном:

ExecutorService fixedThreadPool = Executors.newFixedThreadPool(2);
for (int i = 0; i < 10; ++i) {
    fixedSizeThreadPool.execute(myRunables[i]);
}
try {
    fixedSizeThreadPool.awaitTermination(timeout, timeoutUnits);
} catch (Exception e) { }
System.out.println("done!");

Но это всегда застревает на awaitTermination . Что случилось?

20
задан Paul Bellora 13 April 2012 в 02:03
поделиться