Task-parallel programming model is general-purpose. It enables you to express parallelism by enqueuing multiple tasks. You can apply this model in the following scenarios:
- Performing different tasks concurrently by multiple threads. If you use this scenario, choose sufficient granularity of the tasks to enable good load balancing.
- Adding an extra queue (beside the conventional data-parallel pipeline) for tasks that occur less frequently and asynchronously, such as some scheduled events.
If your tasks are independent, consider using Out-of-Order queue.