Asynchronous Programming Series

Recently I wrote a series of posts regarding asynchronous programming. You can find the links to this series down below. In these series of posts I started from the definition of concurrency and how it’s different with parallelism. Then I moved on deeper into the subject by each post. My 10th post in this series was the last one related to asynchronous programming. I’m not going to continue this series but I’ll probably going to start a series of posts on parallelism.

In the upcoming series of posts, I’m going to look into different model of parallelism in .Net. I know there’s a lot of posts about these topics, but I think a complicated topic such as this can benefit from different perspectives.

Although there’s a lot of overlap between these two concepts, they are different as I’ve explained in concurrency vs parallelism. Also there’s a repository with the sample code used in these posts that you can find here.


1 – Concurrency Vs Parallelism

2 – When to Use Async and Await and How it Works

3 – When Should You Use Task.Delay

4 – Top 7 Common Async Mistakes

5 – Using Task.WhenAny And Task.WhenAll

6 – How Functional Programming Helps With Asynchronous And Parallel Code

7 – Task.Run Vs TaskCompletionSource Vs Task.Factory.FromAsync

8 – Exception Handling In Asynchronous Code

9 – What Is SynchronizationContext

10 – Thread Safety


Hamid Mosalla

Hi, I'm Hamid Mosalla, I'm a software developer, indie cinema fan and a classical music aficionado. Here I write about my experiences mostly related to web development and .Net.


Leave a Reply

Your email address will not be published. Required fields are marked *