Learn Parallel Programming with C# and .NET
Discover the core multithreading and parallelization concepts supported by the .NET framework.
Description
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.
What You Will 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)
Who Should Attend!
- Beginner and experienced .NET developers
- Computer Science students
- Anyone interested in modern approaches to multithreading/parallelism