Chapter 15. Asynchrony with async/await

This chapter covers

  • The fundamental aims of asynchrony
  • Writing async methods and delegates
  • Compiler transformations for async
  • The task-based asynchronous pattern
  • Asynchrony in WinRT

Asynchrony has been a thorn in the side of developers for years. It’s been known to be useful as a way of avoiding tying up a thread while waiting for some arbitrary task to complete, but it’s also been a pain in the neck to implement correctly.

Even within the .NET Framework (which is still relatively young in the grand scheme of things), we’ve had three different models to try to make things simpler:

  • The BeginFoo / EndFoo approach from .NET 1.x, using IAsyncResult and AsyncCallback to propagate results
  • The event-based ...

Get C# in Depth, Third Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.