Advanced Threading in C#

Advanced Threading in C#

English | MP4 | AVC 1280×720 | AAC 48KHz 2ch | 2h 08m | 355 MB

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.

Topics include:

  • Thread safety and affinity
  • Signaling
  • Task Parallel Library (TPL) basics
  • PLINQ introduction
  • Task-based Asynchronous Pattern (TAP)
Table of Contents

Introduction
1 Welcome
2 What you should know

Signaling and Thread Concepts
3 Thread safety
4 Thread affinity
5 Signaling – AutoResetEvent
6 Two-way signaling
7 Signaling – ManualResetEvent
8 Signaling – Countdown

Task Parallel Library TPL
9 TPL introduction
10 TPL demo
11 Parallel vs. normal execution
12 Parallel.For with thread local
13 Continuation with state
14 TaskCompletionSource

PLINQ
15 PLINQ introduction
16 PLINQ demo
17 Degree of parallelism
18 Concurrency bag
19 Merge options

Task Asynchronous Pattern TAP
20 TAP introduction
21 TAP demo

Conclusion
22 Next steps