以下是使用RecursiveTask解决计算斐波那契数的程序。
class Fibonacci extends RecursiveTask<Integer> {
final int n;
Fibonacci(int n) { this.n = n; }
Integer compute() {
if (n <= 1)
return n;
Fibonacci f1 = new Fibonacci(n - 1);
f1.fork();
Fibonacci f2 = new Fibonacci(n - 2);
return f2.compute() + f1.join();
}
}
相对于RecursiveAction,compute方法是有返回值的,在计算的过程中也可以使用join获取计算的结果。