Summary

In this chapter, we have considered the different kinds of asynchronous programming patterns—from the smallest ones such as a task with timeout to the large multipurpose parallel pipeline pattern. We have reviewed the history of asynchronous programming in the .NET Framework and C#, and went step by step through all existing patterns including APM, EAP, and TAP.

In the next chapter, we will cover a very important topic of server-side asynchronous programming. We will learn about scalability, performance metrics, details of IO-bound and CPU-bound asynchronous operations, and how the slightest mistake can ruin your backend. Also, we will learn a couple of tricks that will allow us to detect possible scalability problems and avoid them.

Get Mastering C# Concurrency now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.