Learn Parallel Programming with C# and .NET

Learn Parallel Programming with C# and .NET

English | MP4 | AVC 1280×720 | AAC 48KHz 2ch | 4 Hours | 578 MB

Discover the core multithreading and parallelization concepts supported by the .NET framework.

This course is about .NET Parallel Programming with C# and covers the core multithreading facilities in the .NET Framework, namely the Task Parallel Library (TPL) and Parallel LINQ (PLINQ).

This course will teach you about:

  • Task Programming: how to create and run tasks, cancel them, wait on them and handle exceptions that occur in tasks.
  • Data Sharing and Synchronization, ensuring your access to shared data also happens in a safe and consistent manner.
  • Concurrent Collections, such as ConcurrentBag, which operate correctly even when accessed from multiple threads.
  • Task Coordination concepts, including the idea of continuations, as well as uses of synchronization primitives to coordinate tasks.
  • Parallel Loops which let you easily iterate over a counter or collection while partitioning the data and processing it on separate threads.
  • Parallel LINQ, the parallel version of .NET’s awesome Language-Integrated Query (LINQ) technology.

This course is suitable for:

  • Beginner and experienced .NET/C# developers
  • Anyone interested in multi-threading and parallelism

The course consists of the following materials:

  • Video lectures showing hands-on programming
  • C# files that you can download and run

Before taking the course, you should be comfortable with the C# programming language and familiar with multi-threading.

Table of Contents

Course Introduction
1 Course Introduction

Task Programming
2 Overview
3 Creating and Starting Tasks
4 Cancelling Tasks
5 Waiting for Time to Pass
6 Waiting for Tasks
7 Exception Handling
8 Summary

Data Sharing and Synchronization
9 Overview
10 Critical Sections
11 Interlocked Operations
12 Spin Locking and Lock Recursion
13 Mutex
14 Reader-Writer Locks
15 Summary

Concurrent Collections
16 Overview
17 ConcurrentDictionary
18 ConcurrentQueue
19 ConcurrentStack
20 ConcurrentBag
21 BlockingCollection and the Producer-Consumer Pattern
22 Summary

Task Coordination
23 Overview
24 Continuations
25 Child Tasks
26 Barrier
27 CountdownEvent
28 ManualResetEventSlim and AutoResetEvent
29 SemaphoreSlim
30 Summary

Parallel Loops
31 Overview
32 Parallel Invoke_For_ForEach
33 Breaking_ Cancellations and Exceptions
34 Thread Local Storage
35 Partitioning
36 Summary

Parallel LINQ
37 Overview
38 AsParallel and ParallelQuery
39 Cancellation and Exceptions
40 Merge Options
41 Custom Aggregation
42 Summary
43 Course Summary
44 Bonus Lecture_ Other Courses at a Discount