A thorough discussion of scheduling is beyond the scope of this discussion, but a basic understanding of task scheduling in the TPL is good to have. For more in-depth information, refer to MSDN documentation.
First, note that scheduling in the TPL is extensible because you can create your own subtype of
TaskScheduler. In fact, a scheduler is fairly easy to create by implementing just three methods. Figure 30.7 shows the class diagram for the abstract base class used to implement schedulers. Italicized methods indicate abstract ones. The
QueueTask method is the most essential one, allowing a new
Task object to be scheduled for execution. TPL abstractions call into this method to spawn work.