ExecutorService,如何等待所有任務(wù)完成等待所有任務(wù)的最簡(jiǎn)單的方法是什么?ExecutorService完成?我的任務(wù)主要是計(jì)算性的,所以我只想運(yùn)行大量的任務(wù)-每個(gè)核心上都有一個(gè)?,F(xiàn)在,我的設(shè)置如下:ExecutorService es = Executors.newFixedThreadPool(2);for (DataTable singleTable : uniquePhrases) {
es.execute(new ComputeDTask(singleTable));}try{
es.wait();} catch (InterruptedException e){
e.printStackTrace();}ComputeDTask實(shí)現(xiàn)可運(yùn)行。這似乎正確地執(zhí)行了任務(wù),但是代碼崩潰了。wait()帶著IllegalMonitorStateException..這是很奇怪的,因?yàn)槲彝媪艘恍┩婢叩睦?,它似乎是可行的。uniquePhrases包含數(shù)萬個(gè)元素。我應(yīng)該用另一種方法嗎?我在尋找盡可能簡(jiǎn)單的東西
3 回答

白豬掌柜的
TA貢獻(xiàn)1893條經(jīng)驗(yàn) 獲得超10個(gè)贊
shutdown
wait
awaitTermination
.
Runtime.availableProcessors
添加回答
舉報(bào)
0/150
提交
取消