すべてのタスクが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
数万の要素が含まれています。別の方法を使用する必要がありますか?できるだけシンプルなものを探しています
es
)で同期する必要があります