我使用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
上卡住了,有什么问题吗?