2

配列に格納されたオブジェクトのリストがあり、それぞれが計算する単純な (再帰的ではない) タスクを持っています。

各オブジェクトのこれらのメソッドを並行して実行し、すべてが終了するのを待ってから続行したいと考えています。

以下のコードが私が望むことを行うかどうかを知ることができますか? 私が見落としている問題はありますか?

ありがとう。

public void calculateAllFitnessParallel() 
{
    ForkJoinPool pool = new ForkJoinPool();

    for (int i = 0; i < currentPopulation; i++)
        pool.execute(individuals[i]); // execute these in parallel

    // close pool and wait
    pool.shutdown();
    for (int i = 0; i < currentPopulation; i++)
        individuals[i].join();

    // need all parallel tasks to finish before this
    findFittest();

}
4

0 に答える 0