The async Operator — C#'s Biggest Mistake?
summary
This talk examines problems with C#'s async/await model and argues that widespread reliance on the async operator is misguided. It covers issues observed in real implementations—global state interactions, exception handling, deadlocks, and garbage-collection impacts—and critiques the design choices behind the async mechanism rather than offering simple usage guidance.
AI-written summary · about
chapters (19)
- 0:00Introduction
- 1:32Async/await problems in C#
- 4:23Cost of async methods
- 8:43Hidden state and context
- 12:16Synchronization context issues
- 15:05Deadlocks in UI apps
- 21:06Exceptions in async methods
- 23:37Async void problems
- 26:25Platform integration
- 29:33Async constructors
- 31:37Locking issues
- 34:09SOLID violations
- 35:13Missing timeouts
- 39:52DRY violations
- 41:55Dependency inversion problems
- 47:11C# string limits
- 47:54C# color functions
- 50:46Improving async
- 54:20Q&A
related talks
56mCorrecting Common Async/Await Mistakes in .NET 8
01h 00mCorrecting Common Async/Await Mistakes in .NET 8
49mCorrecting Common Mistakes in Asynchronous .NET Code
01h 00mCorrecting Common Async/Await Mistakes in .NET
01h 05mCorrecting Common Async/Await Mistakes in .NET 10
01h 01mCorrecting Common Async/Await Mistakes in .NET 9
01h 00mAvoiding common pitfalls with async/await
01h 11mEverything You (Don’t) Want to Know About Async and Await in C#
