Summary
In this chapter, we discussed the most important tools that any developer can use to take advantage of the multithreading and asynchronous programming techniques.
The building blocks are the fundamental abstractions that allow code to run in a different execution context, regardless of the OS they are currently running on. Those primitives must be used with wisdom, but that doesn't limit the developer's possibilities in any way compared to native languages and libraries.
In addition to this, the task paradigm offers a natural approach when it comes to interacting with all those events whose nature is asynchronous. The System.Threading.Tasks
namespace provides all the required abstractions to interact with asynchronous phenomena.
The library has been widely restructured and widened to support the task paradigm. And most importantly, the language offers the async
and await
keywords to break down the complexity and make the asynchronous world flow as if it...