我把幫助從這個問題我們如何確定線程池已完成所有工作?
< Wait for all the threads to finish their job and then measure the time elapsed>
但這refernce並沒有解決我的問題。可能我錯了,在一些點。
for (ReadProcess_MongoDB readData : readProcessMongoObj)
executor.execute((Runnable) readData);
executor.shutdown();
executor.awaitTermination(1, TimeUnit.MINUTES);
}
catch (InterruptedException e) {
//Log exception here
} finally {
executor.shutdownNow();
printTime();
}
public void printTime()
{
for(int i=0;i<numberOfThreads;i++)
System.err.println("used Time "+timeArrObj[i]);
}
系統打印數據這樣
線程總數= 3 MongoDB_readQuery使用時間109
使用時間109
線程總數= 0 MongoDB_readQuery使用時間109
使用時間109
使用時間0
已使用時間0
已使用時間0
線程數= 2 MongoDB_readQuery使用時間109
線程總數= 4 MongoDB_readQuery使用時間109
線程總數= 1 MongoDB_readQuery使用時間109
但我想顯示數據
線程總數= 3 MongoDB_readQuery使用時間109
線程總數= 0 MongoDB_readQuery使用時間109
Thread Number = 2使用MongoDB_readQuery時間109
Thread Number = 4 MongoDB_readQuery使用時間109
Thread Number = 1 MongoDB_readQuery使用時間109
使用時間109
使用時間0
使用時間0
使用時間0
使用時間109
我想以後完成所有thread.Please建議執行printTime()我犯了錯誤
你試過完成服務在你的參考中提到的傢伙?我沒有看到你的例子 – d0x