Scala中ForkJoin框架中的invoke()和join()之间的区别

时间:2016-03-28 21:25:00

标签: java scala fork-join

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();

    }

} 

0 个答案:

没有答案