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)
Requirements
Basic knowledge of C# and .NET framework
Basic knowledge of multithreading
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# 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.
Overview
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