Talk: Async Part 1 – the message-loop, and the Task type

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.

  1. 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.
  2. 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.
  3. 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
  • 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".


Comments (2)

  1. Alex Clark says:

    Hi Lucian,

    I was actually at DevConnections and listened to you giving this talk. Was great to see you there as I wasn't aware that you'd be doing sessions there, and I've been following your blog avidly for over a year now.  It was also a pleasant surprise to hear that you're a fellow Brit!  Anyway, thanks for a couple of great sessions and congratulations on your engagement! 🙂

  2. Peter Bradshaw says:

    Hi Lucian,

    Absolutely love your talks just finnished watching 'Whats new in VB 11' it was great.

    BTW: The link to your Async video in this post does not work :…/LucianWischikAsync_high.mp4

Skip to main content