【发布时间】:2011-10-26 21:52:46
【问题描述】:
我用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。怎么了?
【问题讨论】:
-
能否请您出示您的 ThreadPool 声明
-
您必须先调用shutdown才能使exec服务终止。
标签: java multithreading executorservice java.util.concurrent