Learn Parallel Programming with C# and .NET
- 5.5 hours on-demand video
- 1 article
- 30 downloadable resources
- Full lifetime access
- Access on mobile and TV
- Certificate of Completion
Get your team access to 4,000+ top Udemy courses anytime, anywhere.Try Udemy for Business
- 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)
An introduction to the Task abstraction, with examples of how to create and start tasks.
BlockingCollection is a special wrapper around the producer-consumer collection that is capable of blocking the producer thread until a value is available, and is capable of exposing a 'consuming enumerable' that blocks the consumer until there's an item for it to consume.
- 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# 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.
- Beginner and experienced .NET developers
- Computer Science students
- Anyone interested in modern approaches to multithreading/parallelism