次のコードで多くの RecursiveAction を呼び出すことの欠点は何ですか?
class RecursiveActionThing extends RecursiveAction {
int numbers = 1000;
public RecursiveActionThing(int numbers)
{
this.numbers = numbers;
}
public void compute()
{
if (numbers<500)
{
for (int i =0;i<numbers;i++)
{
System.out.println(i);
}
}
else{
invokeAll(new RecursiveActionThing(numbers/2),new RecursiveActionThing(numbers/2), new RecursiveActionThing(numbers/2), new RecursiveActionThing(numbers/2));
}
}
}
これまでのところ、2 つのタスクの呼び出ししか見ていないため、上記の呼び出しを実行すると、これらすべてのタスクを作成する際に大きなオーバーヘッドが発生する可能性がありますが、varargs をパラメーターとして配置することでそれが許可されるのはなぜですか? 特定の状況で役立つかもしれませんか?どれ?前もって感謝します。