Stephen Cleary

Camp Counselor

Async Masterclass

Event Logo

Tuesday, July 25, 2023 - 3:30 PM UTC, for 1 hour.

Regular, 60 minute presentation

Room: 4


Tired of reading articles about async that just don't go deep enough? Here you go. This is the async masterclass. There are no breakfast food analogies here. Except bacon, because bacon is awesome. Bacon. Forget Task. We'll be learning ValueTask. And IAsyncDisposable. And AsyncLocal<T>. Oh, and asynchronous queues - time to learn some Channels. Let's throw in asynchronous synchronization primitives. And I mean building those - seeing how they actually work - not just using them. This ain't your momma's SemaphoreSlim; it's time to build your *own* asynchronous "pause" primitive with TaskCompletionSource<T>. Speaking of TCS, we'll also cover the dictionary completion technique. Let's build our own AsyncLazy<T>, too. Maybe we'll even tackle asynchronous caching and the challenges that come with that (spoiler: we will). It sounds like a random assortment of topics, but each of these skills are valuable as soon as you move from basic async/await into real-world complexity. By the end of this masterclass, you'll be equipped to take your async to the next level! Mmm... bacon... Slides:


You should have a working knowledge of async (including best practices) and how it is different from parallelism.

favorited by:
Jacob Galloway Elizabeth Groom Dan Willman Matthew Ives Sushil Choudhary Brett Allenstein John Martin Lance Larsen Craig Jeffords Troy Landers Timothy Tyson Brenden Capps Robin Schroeder Tyler Thompson Eric Hamacher Eric Olsson Mike Dempewolf Derek Mulhausen Kevin Curtis Cameron Vetter Alice Kim Tim Miller Christopher Ebbert Jeremiah Brockman Kris Kirkland Jason Von Ruden Ellie Stevens Stephen Cleary Jon Meer Mike Frey Jacob Netz Nicolette Anderson Jerad Burley Joshua Below Christopher Moriarty YURSHIA XIONG Jer Lance Kevin Moens Kevin Ziegler Drew Douglas Matt Giuliani