のすべてのタスクが完了するのを待つ最も簡単な方法は何ExecutorService
ですか? 私のタスクは主に計算なので、各コアで 1 つずつ、多数のジョブを実行したいだけです。現在、私のセットアップは次のようになっています。
ExecutorService es = Executors.newFixedThreadPool(2);
for (DataTable singleTable : uniquePhrases) {
es.execute(new ComputeDTask(singleTable));
}
try{
es.wait();
}
catch (InterruptedException e){
e.printStackTrace();
}
ComputeDTask
実行可能を実装します。これにより、タスクが正しく実行されているように見えますが、コードは でクラッシュwait()
しIllegalMonitorStateException
ます。おもちゃの例をいくつか試してみたところ、うまくいくように見えたので、これは奇妙です。
uniquePhrases
数万の要素が含まれています。別の方法を使用する必要がありますか? できるだけシンプルなものを探しています