Learn Parallel Programming with C# and .NET

Learn .NET Parallel Programming with C# and master multithreading and parallelization concepts in a friendly and simple way.

  • Overview
  • Curriculum
  • Instructor
  • Review

Brief Summary

This course is your go-to guide for diving into .NET Parallel Programming using C#. It breaks down complex topics like multithreading into tasty, bite-sized pieces so you can learn without feeling overwhelmed. Whether you're a newbie or someone with a bit of experience, you'll find helpful tips and tricks to make programming easier and more effective.

Key Points

  • Understand core multithreading concepts in .NET.
  • Learn about Task Parallel Library and Parallel LINQ.
  • Explore how to manage tasks, data sharing, and synchronization.

Learning Outcomes

  • Create and manage tasks in C#.
  • Safely share and synchronize data between threads.
  • Utilize parallel collections for efficient programming.

About This Course

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.

  • Async/Await and .NET's support for asynchronous programming.

This course is suitable for:

  • Beginner and experienced .NET/C# developers

  • Anyone interested in multi-threading, parallelism and asynchronous programming

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.

  • Create and run independent tasks

  • Manage synchronized access to data

  • Effectively use parallel collections

Instructor

Profile photo of Dmitri Nesteruk
Dmitri Nesteruk

Dmitri is a quant, developer, book author and course author. His interests lie in software development and integration practices in the areas of computation, quantitative finance and algorithmic trading. His technological interests include C# and C++ programming as well high-performance computing using technologies such as CUDA and FPGAs. He has been a C# MVP since 2009.

Review
4.9 course rating
4K ratings
ui-avatar of Fabien CHEVREY
Fabien C.
4.0
7 months ago

Très bon cours d'introduction, Toute la théory est là. Mais des exemple plus concrets de cas d'utilisation et un exemple de programme un peu plus complexe aurait été les bienvenus

  • Helpful
  • Not helpful
ui-avatar of Akshatha M
Akshatha M.
4.0
7 months ago

good

  • Helpful
  • Not helpful
ui-avatar of Bibhu Muduli
Bibhu M.
4.5
8 months ago

Good

  • Helpful
  • Not helpful
ui-avatar of farahSarwar
Farahsarwar
4.0
9 months ago

I took this course because I need to use multithreading in my Android project, which is written in C#. After reaching section 7, I realized that I need to use async and await efficiently as it is covering all the aspects and this is what will be useful in Android. I hope to implement my tasks efficiently now but I need to practice a few times.

  • Helpful
  • Not helpful
ui-avatar of Sebastian Klein
Sebastian K.
5.0
9 months ago

Der Kurs ist sehr gut und die Beispiele sind einfach gehalten. Somit ist das Thema anschaulich und gut verständlich.
Allerdings stimmt an einigen Stellen der Untertitel nicht, z.B.: falsche Wörter, Rechtschreibfehler, ...
Trotzdem kann man das Vermittelte sehr gut verstehen.

  • Helpful
  • Not helpful
ui-avatar of Minhyun Kim
Minhyun K.
4.0
9 months ago

It covers many aspect of parallel programming, thanks for the efforts. But I feel some parts are faster than others and their examples are not sufficient. If tutor add some best practice and some comments, then it would be very good for learners. Thanks again for the good class.

  • Helpful
  • Not helpful
ui-avatar of Thuy Nguyen Thi Bich
Thuy N. T. B.
5.0
10 months ago

ok

  • Helpful
  • Not helpful
ui-avatar of Ryan Alic
Ryan A.
5.0
10 months ago

please revise the video and add to some topics

  • Helpful
  • Not helpful
ui-avatar of Smassey2
Smassey2
3.5
10 months ago

It is very fast paced.

  • Helpful
  • Not helpful
ui-avatar of Indhumathi Murugan
Indhumathi M.
4.5
10 months ago

good

  • Helpful
  • Not helpful
Leave A Reply

Your email address will not be published. Required fields are marked *

Ratings

Courses You May Like

Lorem ipsum dolor sit amet elit
Show More Courses