Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

LinkedIn Learning

Advanced Threading in C#

via LinkedIn Learning


Learn how to use advanced threading to perform concurrent processes in C#, with TPL, PLINQ, and TAP.

Learn how to write C# applications that perform multiple tasks concurrently-aka multithreaded applications. Programs that use multithreading are more responsive to user input because the user interface stays active as processor-intensive tasks execute on separate threads. Multithreading is also useful when you create scalable applications because you can add threads as the workload increases. In this course, Microsoft MVP Chander Dhall reviews the basics of threading and signaling, and then shows how to use the popular .NET library for parallel execution, TPL; the query syntax PLINQ; and the recommended asynchronous programming pattern, TAP. By the end of the course, he shows how to turn sequential code into a multithreaded application that runs five times faster than before.


  • Welcome
  • What you should know
1. Signaling and Thread Concepts
  • Thread safety
  • Thread affinity
  • Signaling: AutoResetEvent
  • Two-way signaling
  • Signaling: ManualResetEvent
  • Signaling: Countdown
2. Task Parallel Library (TPL)
  • TPL introduction
  • TPL demo
  • Parallel vs. normal execution
  • Parallel.For with thread local
  • Continuation with state
  • TaskCompletionSource
  • PLINQ introduction
  • PLINQ demo
  • Degree of parallelism
  • Concurrency bag
  • Merge options
4. Task Asynchronous Pattern (TAP)
  • TAP introduction
  • TAP demo
  • Next steps

Taught by

Chander Dhall

Related Courses


Start your review of Advanced Threading in C#

Never Stop Learning!

Get personalized course recommendations, track subjects and courses with reminders, and more.

Sign up for free