I understand that the TPL does not necessarily create a new thread for every task in a parallel set, but does it always create at least one? eg:
private void MyF
That's up to whatever the current default TaskScheduler is. You can just about envisage someone doing something horrific like implementing a SynchronousTaskScheduler
that executes the task body during QueueTask
and sets it to complete before returning.
Assuming you're not letting someone else muck about with your task schedulers, you shouldn't have to worry about it.