In this chapter, we have reviewed Task Parallel Library in detail. We have studied its architecture and composition blocks. We have learned about exception handling and task cancellation in detail. We examined performance and latency issues by finding out the best way of writing code to achieve good results. Using the Parallel
class API allowed us to quickly create parallel programs, and deep-diving into TPL task scheduling allowed us to write a custom task scheduler and customize TPL task execution.
In the next chapter, we will learn how the C# language supports asynchrony. We will understand its new keywords, async
and await
, and understand how we can use Task Parallel Library with the new C# syntax. Also, we will review in detail how exactly new language features work and create our own custom code that will be compatible with the await
statement.