Fork/Join 框架的其他方法

ForkJoinPool

除了使用 ForkJoinPool 类的 execute() 方法和 invoke() 方法将任务发送给池。
还可以使用另一个名为 submit() 的方法。

它们之间的主要区别在于:

示例使用的类均基于 ForkJoinTask 类,也可以使用基于 Runnable 接口和 Callable 接口的 ForkJoinPool 任务。
为实现这一目标,可以使用 submit() 方法。
该方法有接收Runnable 对象作为参数的版本、接收含有结果的 Runnable 对象作为参数的版本和接收 Callable对象作为参数的版本。

ForkJoinTask

ForkJoinTask 类提供了 get(long timeout, TimeUnit unit) 方法来获取某个任务返回的结果。
该方法在参数中指定了等待任务结果的时间周期。
如果该任务在这一时间周期结束之前完成了执行,则该方法返回相应结果。
否则,该方法抛出一个 TimeoutException 异常。

ForkJoinTask 类为 invoke() 方法提供了一种替代方案,即 quietlyInvoke() 方法。
这两种方法的主要区别在于: