つまり、計算集約的なタスクを実行するオブジェクトがあります。
メイン クラスにこれらのオブジェクトが 2 つあると仮定して、次のようにプロセスを並列化しました。
Thread t1 = new Thread(new Runnable() {
@Override
public void run() {
obj1.compute();
}
});
Thread t2 = new Thread(new Runnable() {
@Override
public void run() {
obj2.compute();
}
});
t1.start();
t2.start();
t1.join();
t2.join();
しかし、任意の数のオブジェクトがリストに格納されている場合、それを行う最善の方法は何でしょうか? (数値は 10 の大きさであると仮定します)。エグゼキューター サービスを調べていましたが、スレッドに再参加する方法がわかりませんでした。ForkJoinPool はそれを行うことになっていますが、それを機能させる方法が見つかりませんでした。
私の優先事項は、パフォーマンスよりも単純で明確なコードです (計算にかかる 10 分でオーバーヘッドが見えなくなるため)。