Talk: Async Part 1 – the message-loop, and the Task type
After giving lots of training and talks over the past two years, this is my most recent take on how to explain Async.
- The message-loop is fundamental. You can’t understand async unless you understand the message-loop. Once you understand how async uses the message-loop, you’ll understand everything else.
- You can use async to write the sort of distributed algorithms – with cancellation and retries – that the new generation of software needs, but that were too hard to write before.
- The Task type and its various library functions like Task.WhenAll are compositional: they let you build your async algorithms out of smaller pieces.
This talk is called “Async Part 1”. I’ve also given a sequel, Async Part 2, that goes into more advanced uses of async.
- I gave this talk in C# at NDC2012 in Oslo, Norway on 2012.06.06
- Watch video online
- Download slides.pptx [2.7mb]
- Download script.docx [28k]
- Download source_code.zip [640k, requires VS2012 and Win8]
- I gave this talk in VB at DevConnections2012 in Las Vegas, USA on 2012.03.26
I want to call out thanks to Greg Paperin, who came up with the slide ideas for “generations of programming languages” and “message-loop animation”.