Scala Example:
我知道f2.compute()
等待所有子任务完成。
但是与join()?
有什么不同呢?
它与递归有关吗?
为什么compute()
上f2
直接调用而不是f2.invoke()
?
非常感谢任何解释/源代码提示。
Java 7 RekursviveTask Source Code
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();
}
}