Skip to content
UdemyC#Paid courseAll LevelsCertificate

Write Asynchronous C# Code With Tasks and PLINQ (Udemy.com)

A comprehensive course teaching you how to write asynchronous C# code with the Task Parallel Library and PLINQ.

Created by: Mark Farragher

Last updated May 2026

icon
What you will learn

  • Learn how to write robust asynchronous C# code
  • Master the fundamentals of multi-threaded code
  • Learn how to use Threads
  • Learn how to use the Task class
  • Use a Task network to implement MapReduce
  • Parallelise any LINQ query with PLINQ
  • Learn the difference between Tasks and PLINQ
  • How to create Task continuations
  • ... and much more!

How it compares

Against the other 194 rated Udemy courses in C# on CourseDuck:

  • Rating4.6 out of 5higher than 76% of them
  • Reviews1,017#73 of 195 by number of reviews
  • Length3.2 hoursshorter than 73% of them
  • Last updatedMay 2026more recently than 86% of them

icon
Course Description

Today we have beautiful libraries for writing multi-threaded C#, and there is simply no excuse for writing bad asynchronous code. In this course I will teach you how to write rock-solid code using Tasks and Parallel LINQ that works perfectly on your first try.

I wrote a multi-threaded conversion utility a year ago that successfully migrated 100,000 documents from SharePoint 2010 to SharePoint 2013. The program worked flawlessly the first time because I used PLINQ.

Sound good?

Writing multi-threaded code by hand is hard. I’ll prove it to you by showing you some code that exchanges data between two threads. You will be surprised how difficult it is to do this reliably.

But then I’ll show you how trivially easy it is to write asynchronous C# code using the Task Parallel Library and Parallel LINQ. These amazing frameworks allow anyone to write robust multi-threaded code that can take a beating.

By the end of the course you will be fluent in both the Tasks Parallel Library and Parallel LINQ.

Why should you take this course?

You should take this course if you are a beginner or intermediate C# developer and want to take your skills to the next level. Working with Tasks and Parallel LINQ might sound complicated, but all of my lectures are very easy to follow, and I explain all topics with clear code and many instructive diagrams. You'll have no trouble following along.

Or maybe you're working on a critical asynchronous section of C# code in a lage project, and need to make sure your code scales reliably over multiple CPU cores? The tips and tricks in this course will help you immensely.

Or maybe you're preparing for a C# related job interview? This course will give you an excellent foundation to answer any asynchronous programming questions they might throw at you.

icon
Udemy Discount

The discount is applied through our link. Open the course from here and Udemy's current promotional price is applied at checkout on most courses, no code to type.

Some courses are excluded from Udemy's promotions. If the price does not drop, clear your browser cookies and use the button again.

icon
Instructor Details

Mark Farragher

Mark Farragher is a blogger, investor, serial entrepreneur, and the author of 12 successful IT courses on Udemy and other marketplaces. His career spans over two decades during which Mark has been a Founder twice and CTO three times, and has launched two lean startups in The Netherlands.

Mark became a Microsoft Certified Trainer in 2005 and started training classes in .NET development, web design, and Microsoft back-office servers. Today he uses his extensive knowledge of IT to help CTO’s, architects, and other tech professionals with their leadership, communication, and technical skills.

Mark has MCSA and MCSD certifications from Microsoft and is a certified Microsoft Trainer and Scrum master. He speaks fluent English, Dutch, and German.

icon
More courses by Mark Farragher

$16.99

$12.99

$14.99

$14.99

$59.99

$11.99

icon
More C# courses

$84.99

$13.99

$64.99

$19.99

$12.99

$84.99

icon
Reviews

4.6

1,017 ratings on Udemy

Select a bar to show only those reviews.Select the bar again to show every rating.

By Gabriel Mendonça on 12/30/2023

The lecturer has a very good grasp on the subject. I wish the course had more sections and had alot more exercises. The one exercise it has, is excellent. If you just add a few more, the course would be fantastic. You need to make sure that in the exercises, people are truly running the code in parallel because the editor doesn't know the difference. I added a .Wait() at the end of a continuation(making it a sequential algorithm) and it accepted my code. The way the lecturer speaks is a bit slow indeed but not a deal breaker.

By Anonymized User on 10/18/2021

The topics were interesting, but the PLINQ section was just about 2 lines of code that required half a dozen videos and it was very repetitive. Also, the hands-on exercise on Tasks doesn't work. I tried to do it directly on the platform, but couldn't, then I went to Visual Studio and ran the very first time. I copied everything back as it was directly on the platform and still didn't work. And since it is the only lecture not completed, I didn't get the certificate. And then there is the lack of the Parallel class. Too much talk about it along side Task and PLINQ, but not how to use it. Would have been nice to add it instead of so much about PLINQ for such little coding.

By Joshua Howard on 5/5/2021

This is a review update, I have now gone through 5.5 Udemy async/parallel programming courses and decided to increase my ratings on both of Marks courses on this topic. They are perfect foundations and should be where everyone gets their introduction to Parallel programming. From there it depends on how deep you want to study, but Dmitri's is a must for going to the next level. Elias (Spock) also had a lot of breath, but hes not my ideal presenter.

By Ed Schultz on 9/19/2019

I develop a lot of tools I use in my day to day job (Network Engineer). I am always on the watch for new techniques that may aid in the development of these tools... This class was very helpful in moving me towards parallelism for faster scanning and processing of my network processes to make the tools I develop more efficient... Thanks for the information...

By Mehmet Recep YILDIZ on 2/13/2019

The instructor has in-depth knowledge of the Multithreading programming. I have used multithreading a lot of times before. But still, I've learned lots of things from this course. I highly recommended it to everyone. The only downside is slow talking. I solved it by watching on speed 1.25 ;) Thank you for the course :)

By Erich Einfalt on 10/11/2017

Speed control of the spoken info is a good feature. The chalkboard emulation of written info for topics helped emphasize and enhance the distinction between topic info and its implementation in the C# source code expression. The only issue I had was with an erroneous response to the Quiz 2 Coding Exercise's 'Check Solution' action. It points to a line that does not relate to the error reported and the code runs correctly in VS 2017 with no error. Because the Check Solution action never returns OK, my course completion rating is stuck at 97%.

By Vikram Hegde on 8/30/2017

I bought this course a while back but didn't actually start taking it until yesterday. I wish I had started sooner, because this is a really good course. I have Mr. Farragher's other courses and they are also very good. His speaking style is very clear, and he takes the time to explain difficult concepts in a way that is easy to digest. For example, I liked his explanation and visual diagrams about AutoResetEvents. I never really understood it that well until now.

By Emil Roman on 6/6/2016

Overall, the course is a great resource to have access to when working or wanting to understand the ways of 'Multithreading'. However, the last part, on PLINQ, while very good, gets a loooot of repeating the same concepts.

By Jesus Alfonso Rodriguez on 2/25/2016

It's already the 7th course I've taken with this instructor. I will let Homer Simpson describe what I think: "It's that Mark Farragher, Marge: he won't let me. One quality course after another, each one fresher and more brilliant than the last. If he only stumbled once, just gave us thirty minutes to ourselves, but he won't! He won't let me live!" [S05EP22]

By Ramón Vázquez Flores on 1/8/2016

I have working in a lot of multithreaded applications, doing all the old fashioned way. Now knowing all this, from now on, multithreaded will be extremely less painful. Just one thing, will be nice to have the source code of the examples.

complex topics made simple

Very enlightening course.

Showing 12 of 96 reviews

icon
Quality Score

Content Quality
/
Video Quality
/
Qualified Instructor
/
Course Pace
/
Course Depth & Coverage
/

Overall Score : 92 / 100