Resources to help you learn asynchronous programming with async and await in C#

As I dive deeper into mastering asynchronous programming in C#, I’ve compiled a list of resources that have strengthened my understanding. Below, I present these resources in no particular order, each of which have played a pivotal role in augmenting my knowledge.

C# players guide (Fifth Edition)

The author begins by explaining asynchronous concepts using everyday examples that make it easier to understand before continuing with the challenges of putting asynchronous programming into practice which leads to the use of async/await. The chapter wraps up with short summaries of other details the developer needs to be aware of such as exception handling and cancellations.

This book is my first choice whenever I’m learning new C# concepts. The authors’ clear writing style keeps the focus on the important information, so you won’t feel swamped with details that can be tackled later on.

Pluralsight Course Asynchronous Programming in C# by Filip Ekberg

This course spans a little over five hours, but if you’re new to the subject, you can start with the second module titled “Getting Started with Asynchronous Programming in C# using Async and Await,” which is less than an hour long. and then return for more information as you need it.

The author uses an application with a User Interface which shows the application becoming unresponsive when when the API used to retrieve information is run synchronously before it is refactored to use async and await.

Filip excels as a presenter, and if you have access to Pluralsight, I highly recommend checking out this course.

Asynchronous Programming (Microsoft documentation)

Microsoft’s documentation on asynchronous programming maintains its usual high quality. Working through the provided examples, particularly the one which used the breakfast analogy and dissecting the completed solution, proved beneficial.

At the beginning, there is a fantastic breakdown of the objectives behind the syntax, which proved immensely helpful for my comprehension and I’ve included it below for your reference and my own!

[to] enable code that reads like a sequence of statements, but executes in a much more complicated order based on external resource allocation and when tasks are complete.

https://learn.microsoft.com/en-us/dotnet/csharp/asynchronous-programming/

Writing async/await from scratch in C# with Scott Hanselman + Stephen Taub

This video is a must-watch for delving into the intricacies of what happens behind the scenes when async/await is integrated into your code. In this hour-long session, Stephen constructs his own implementation of async/await entirely from scratch.

One of the primary reasons for recommending this show is Scott’s role as the audience. He poses the questions you’d likely ask in a live session, prompting Stephen to backtrack, reiterate, or clarify terms and concepts that may be unfamiliar to the audience. This dynamic ensures a comprehensive understanding for viewers, particularly those encountering these concepts for the first time.

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.