Summary
In this chapter, we have covered quite a bit of information about asynchronous development with C# and. NET. We started by covering some of the ways to handle I/O-bound and CPU-bound operations in your applications.
Next, we created some practical examples that use the Task
and Task<TResult>
classes and discovered how to work with multiple Task
objects. You got some practical advice for interop between modern asynchronous code and legacy synchronous methods. Finally, we covered some of the most important rules to remember when working with asynchronous code and Task
objects.
In the next chapter, Chapter 6, you will learn the ins and outs of parallel programming in .NET using the Task Parallel Library (TPL) and learn how to the avoid common pitfalls of parallel programming.