In the previous chapters, we have seen how parallel programming works. Parallelism is about creating small tasks called units of work that can be executed simultaneously by one or more application threads. Since threads run inside the application process, they notify the called thread once they finish using delegates.
In this chapter, we will start by introducing the difference between synchronous code and asynchronous code. Then, we'll discuss when to use asynchronous code and when to avoid it. We will also discuss how asynchronous patterns have evolved over time. Finally, we will see how new features in parallel programming help us get around the complexities of asynchronous code.
In this chapter, we'll cover the following topics:
- Synchronous versus asynchronous code
- When to use asynchronous programming
- When to avoid asynchronous...