Learn Parallel Programming with C and NET

Discover the core multithreading and parallelization concepts supported by the .NET framework.
Learn Parallel Programming with C and NET
File Size :
1.84 GB
Total length :
5h 18m



Dmitri Nesteruk


Last update

Last updated 11/2019



Learn Parallel Programming with C and NET

What you’ll learn

Create and run independent tasks
Manage synchronized access to data
Effectively use parallel collections
Work with task continuations
Write parallel loops
Leverage the power of Parallel LINQ
Master asynchronous programming (async/await)

Learn Parallel Programming with C and NET


Basic knowledge of C# and .NET framework
Basic knowledge of multithreading


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.Async/Await and .NET’s support for asynchronous programming.This course is suitable for:Beginner and experienced .NET/C# developersAnyone interested in multi-threading, parallelism and asynchronous programmingThe course consists of the following materials:Video lectures showing hands-on programmingC# files that you can download and runBefore taking the course, you should be comfortable with the C# programming language and familiar with multi-threading.


Lecture 1 Course Introduction

Section 1: Task Programming

Lecture 2 Overview

Lecture 3 Creating and Starting Tasks

Lecture 4 Cancelling Tasks

Lecture 5 Waiting for Time to Pass

Lecture 6 Waiting for Tasks

Lecture 7 Exception Handling

Lecture 8 Summary

Section 2: Data Sharing and Synchronization

Lecture 9 Overview

Lecture 10 Critical Sections

Lecture 11 Interlocked Operations

Lecture 12 Spin Locking and Lock Recursion

Lecture 13 Mutex

Lecture 14 Reader-Writer Locks

Lecture 15 Summary

Section 3: Concurrent Collections

Lecture 16 Overview

Lecture 17 ConcurrentDictionary

Lecture 18 ConcurrentQueue

Lecture 19 ConcurrentStack

Lecture 20 ConcurrentBag

Lecture 21 BlockingCollection and the Producer-Consumer Pattern

Lecture 22 Summary

Section 4: Task Coordination

Lecture 23 Overview

Lecture 24 Continuations

Lecture 25 Child Tasks

Lecture 26 Barrier

Lecture 27 CountdownEvent

Lecture 28 ManualResetEventSlim and AutoResetEvent

Lecture 29 SemaphoreSlim

Lecture 30 Summary

Section 5: Parallel Loops

Lecture 31 Overview

Lecture 32 Parallel Invoke/For/ForEach

Lecture 33 Breaking, Cancellations and Exceptions

Lecture 34 Thread Local Storage

Lecture 35 Partitioning

Lecture 36 Summary

Section 6: Parallel LINQ

Lecture 37 Overview

Lecture 38 AsParallel and ParallelQuery

Lecture 39 Cancellation and Exceptions

Lecture 40 Merge Options

Lecture 41 Custom Aggregation

Lecture 42 Summary

Section 7: Asynchronous Programming (Async/Await)

Lecture 43 Overview

Lecture 44 Using Async and Await

Lecture 45 State Machines

Lecture 46 Task.Run

Lecture 47 Task Utility Combinators

Lecture 48 Async Factory Method

Lecture 49 Asynchronous Initialization Pattern

Lecture 50 Asynchronous Lazy Initialization

Lecture 51 ValueTask

Lecture 52 Summary

Section 8: Course Summary

Lecture 53 Course Summary

Lecture 54 Bonus Lecture: Other Courses at a Discount

Beginner and experienced .NET developers,Computer Science students,Anyone interested in modern approaches to multithreading/parallelism

Course Information:

Udemy | English | 5h 18m | 1.84 GB
Created by: Dmitri Nesteruk

You Can See More Courses in the Developer >> Greetings from CourseDown.com

New Courses

Scroll to Top