Search code examples
javamultithreadingforkjoinpool

Difference between recursive task and recursive action in ForkJoinPool


We can submit two types of tasks to forkJoinPool. one is RecursiveAction and other is RecursiveTask.

What is the difference between both of them?


Solution

  • From the first lines of their respective Javadocs:

    Although technically, RecursiveAction does return a value, it's just always null, because it's a ForkJoinTask<Void>, and that's the only possible value of Void.