ForkJoinPool中递归任务和递归动作的区别

Difference between recursive task and recursive action in ForkJoinPool

我们可以向 forkJoinPool 提交两种类型的任务。一个是 RecursiveAction,另一个是 RecursiveTask

两者有什么区别?

除了 RecursiveTask return 是一个结果而 RecursiveAction 没有 return 值外,它们是相似的。

来自各自 Javadoc 的第一行:

虽然从技术上讲,RecursiveAction 确实 return 一个值,但它总是 null,因为它是一个 ForkJoinTask<Void>,这是 Void.

的唯一可能值