This is the last video in a series dedicated to `ConfigureAwait` that explains why we have it in the first place, when we should use it and when we should not. Spoiler alert: quite a few teams do not use it correctly!
▬▬▬▬▬▬ Connect with me 👋 ▬▬▬▬▬▬
GITHUB - https://github.com/SergeyTeplyakov
X/TWITTER - https://x.com/steplyakov
LINKEDIN - https://linkedin.com/in/sergeyteplyakov
BLOG - https://sergeyteplyakov.github.io/Blog
▬▬▬▬▬▬ T I M E S T A M P S ⏰ ▬▬▬▬▬▬
00:00 - Intro
00:13 - Why ConfigureAwait was added to C#?
02:05 - Applications vs. Libraries
03:26 - General ConfigureAwait guideline
04:19 - The cost of using ConfigureAwait incorrectly
06:15 - ConfigureAwait FAG by Stephen Toub
06:33 - ConfigureAwait guidelines
08:03 - Conclusion
06:16 - De-abstracting in other scenarios
07:22 - Current limitations
08:11 - The Fragility of the current implementation
08:46 - Nested loops
09:55 - Conclusion
👇 Drop your topic suggestions in the comments and let’s keep dissecting together.
#dotnet #csharp #async #asyncawait #configureawait #bestpractices
Here is the blogpost that covers how a custom TaskScheduler can cause a deadlock: https://sergeyteplyakov.github.io/Blog/csharp/2024/06/14/Custom_Task_Scheduler.html