What is the difference between `RecursiveTask` and `RecursiveAction`?
`RecursiveTask` can be used for tasks that are executed in parallel, while `RecursiveAction` is for tasks that need to be run serially.
Thatâ€™s partially correct. Both `RecursiveTask` and `RecursiveAction` can be used for parallel tasks, but the key difference is that one returns a result while the other does not.
Can you explain how `RecursiveTask` handles the splitting and joining of results in parallel tasks?