Async Expert
33h 11m 40s
English
Paid
Course description
Master asynchronous programming in .NET with the Async Expert course. You will experience a deep dive from the basics to advanced techniques, such as async-await, working with concurrent collections, and managing parallelism.
The course includes homework assignments to consolidate knowledge as well as exclusive materials from recognized experts: Marc Gravell, Daniel Marbach, and Stephen Cleary.
Read more about the course
Update: It was decided to also add the course C# 9.0 Professional to the collection.
Watch Online
0:00
/ #1: Course overview
All Course Lessons (86)
| # | Lesson Title | Duration | Access |
|---|---|---|---|
| 1 | Course overview Demo | 05:38 | |
| 2 | BenchmarkDotNet basics | 22:33 | |
| 3 | Demo: sharplab.io | 10:07 | |
| 4 | Demo: ConcurrencyVisualizer | 09:45 | |
| 5 | Demo: Parallel Stacks/Tasks | 08:10 | |
| 6 | Homework | 01:23 | |
| 7 | Threads | 01:42:37 | |
| 8 | ThreadPool | 01:37:50 | |
| 9 | Demo: ThreadPool use with different API | 20:27 | |
| 10 | Demo: ThreadPool.BindHandle usage | 19:36 | |
| 11 | Homework | 01:30 | |
| 12 | Task API | 01:16:11 | |
| 13 | Async-await foundations | 01:55:31 | |
| 14 | Async eliding | 19:59 | |
| 15 | ValueTask | 23:46 | |
| 16 | Task API and async | 27:37 | |
| 17 | Homework | 01:06 | |
| 18 | Execution, contexts, scheduler | 01:30:08 | |
| 19 | Sync vs async | 43:53 | |
| 20 | Fire and forget | 17:56 | |
| 21 | TaskCompletionSource | 24:45 | |
| 22 | Awaitables | 25:36 | |
| 23 | Locals | 37:31 | |
| 24 | Homework | 01:22 | |
| 25 | Tasks aggregations | 45:33 | |
| 26 | IAsyncDiposable | 17:39 | |
| 27 | IAsyncEnumerable | 15:01 | |
| 28 | Demo: gRPC with IAsyncEnumerable | 07:05 | |
| 29 | Demo: New SQL client | 03:34 | |
| 30 | Demo: Timeout with WhenAny and WhenAll | 05:34 | |
| 31 | Homework | 00:46 | |
| 32 | Hardware | 40:02 | |
| 33 | volatile | 15:41 | |
| 34 | Demo: Epoch programming in ConcurrentQueue | 15:09 | |
| 35 | Interlocked | 19:39 | |
| 36 | Demo: simple pool with Interlocked.Exchange | 03:54 | |
| 37 | Barriers and alignment | 09:36 | |
| 38 | Demo: range reservation with Aeron.NET and Interlocked.CompareExchange | 10:48 | |
| 39 | Homework | 01:08 | |
| 40 | Exclusive locking - part 1 | 24:13 | |
| 41 | Demo: decompiling lock | 06:17 | |
| 42 | Exclusive locking - part 2 | 09:57 | |
| 43 | Demo: non-blocking usage of Monitor.TryEnter | 07:35 | |
| 44 | Exclusive locking - part 03 | 08:21 | |
| 45 | Non-exclusive locking - part 1 | 11:07 | |
| 46 | Demo: task throttling with Task and SemaphoreSlim | 08:03 | |
| 47 | Non-exclusive locking - part 2 | 07:38 | |
| 48 | Demo: Building custom string pool with ReaderWriterLock | 12:10 | |
| 49 | Non-exclusive locking - part 3 | 06:09 | |
| 50 | Signalling | 13:20 | |
| 51 | Asynchronous primitives - part 1 | 05:51 | |
| 52 | Demo: AsyncLock implementation | 21:33 | |
| 53 | Asynchronous primitives - part 2 | 15:58 | |
| 54 | Homework | 01:10 | |
| 55 | Foundations | 20:52 | |
| 56 | BlockingCollection | 11:56 | |
| 57 | ConcurrentStack | 16:43 | |
| 58 | Demo: object cache with ConcurrentStack | 04:11 | |
| 59 | ConcurrentQueue | 22:24 | |
| 60 | Demo: memory pool in Kestrel ASP.NET with ConcurrentQueue | 07:39 | |
| 61 | ConcurrentDictionary | 17:08 | |
| 62 | Demo: efficient caching with ConcurrentDictionary.GetOrAdd | 04:01 | |
| 63 | ConcurrentBag | 06:18 | |
| 64 | Homework | 00:47 | |
| 65 | Introduction | 16:29 | |
| 66 | Pipelines | 26:22 | |
| 67 | Demo: TcpEcho | 18:29 | |
| 68 | Channels | 19:56 | |
| 69 | Demo: Usage of the Channel<T> in ASP.NET Core | 07:21 | |
| 70 | Homework | 01:03 | |
| 71 | IValueTaskSource with Interlocked.CompareExchange | 19:13 | |
| 72 | IValueTaskSource based on an array with token discriminator | 11:01 | |
| 73 | ValueTask and pooling in .NET 5 | 11:26 | |
| 74 | ManualResetValueTaskSourceCore | 11:33 | |
| 75 | False Sharing | 09:56 | |
| 76 | Demo: Hosted services with IHostBuilder, IHostedService and ConcurrentQueue | 13:19 | |
| 77 | F# async vs C# async | 29:14 | |
| 78 | What's new in CancellationTokens for .NET 5 and beyond | 13:11 | |
| 79 | Summary of the course | 14:03 | |
| 80 | Marc Gravell, webinar nr 1 | 01:25:05 | |
| 81 | Daniel Marbach, webinar nr 2 | 01:01:11 | |
| 82 | Steve Cleary, webinar nr 3 | 01:05:19 | |
| 83 | Daniel Marbach, webinar nr 4 | 01:08:21 | |
| 84 | Marc Gravell, webinar nr 5 | 01:05:40 | |
| 85 | Steve Cleary, webinar nr 6 | 01:20:20 | |
| 86 | Daniel Marbach, webinar nr 7 | 55:41 |
Unlock unlimited learning
Get instant access to all 85 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.
Learn more about subscriptionBooks
Read Book Async Expert
| # | Title |
|---|---|
| 1 | M01L01Overview |
| 2 | M01L02BenchmarkDotNet |
| 3 | M01L03Sharplab |
| 4 | M01L04ConcurrencyVisualizer |
| 5 | M01L06Homework |
| 6 | M02L01Introduction |
| 7 | M02L02Threads |
| 8 | M02L03ThreadsPools |
| 9 | M03L01TaskAPI |
| 10 | M03L02AsyncAwaitFoundations |
| 11 | M03L03AsyncEliding |
| 12 | M03L04ValueTask |
| 13 | M03L05TaskAPIandAsync |
| 14 | M03L06Homework |
| 15 | M04L01 |
| 16 | M04L02 |
| 17 | M04L03 |
| 18 | M04L04 |
| 19 | M04L05 |
| 20 | M04L06 |
| 21 | M04L07 |
| 22 | M05L01 |
| 23 | M05L02 |
| 24 | M05L03 |
| 25 | M05L04 |
| 26 | M06L01 |
| 27 | M06L02 |
| 28 | M06L03 |
| 29 | M06L04 |
| 30 | M06L05 |
| 31 | M07L01ExclusiveLocking |
| 32 | M07L02NonexclusiveLocking |
| 33 | M07L03Signalling |
| 34 | M07L04AsyncPrimitives |
| 35 | M07L05Homework |
| 36 | M08L01 |
| 37 | M08L02 |
| 38 | M08L03 |
| 39 | M08L04 |
| 40 | M09L04 |
| 41 | M09L03 |
| 42 | M09L02 |
| 43 | M09L01 |
| 44 | M10L01 |
| 45 | M10L02 |
| 46 | M10L03 |
| 47 | M10L04 |
| 48 | M10L05 |
| 49 | M10L07 |
| 50 | M10L08 |
Comments
0 commentsWant to join the conversation?
Sign in to commentSimilar courses
C# Weekly Challenges
Sources: iamtimcorey.com (Tim Corey)
Weekly C# challenges are just that - challenges you get every week* to complete some task in C#. They push you to be better in an area and they help refresh your skills in areas...
43 hours 12 minutes 52 seconds
Unity RPG Dialogue & Quests: Intermediate C# Game Coding
Sources: gamedev.tv
Using Unity 2020.1, we’ll show you how to include two essential game mechanics, dialogue and quests, in your games. This highly acclaimed series was over 200% f
12 hours 34 minutes 19 seconds
Pragmatic Clean Architecture
Sources: Milan Jovanović
This comprehensive course will teach you the system I use to ship production-ready applications using Clean Architecture. Learn how to apply the best practices of modern softwar...
6 hours 21 minutes 27 seconds
Entity Framework Core - The Complete Guide (.NET Core 5)
Sources: udemy
Entity Framework is a term that goes hand by hand with ASP.NET Core. It is one of that technology that is used very often and is not understood most of the time. This course wil...
5 hours 24 minutes 16 seconds