Async and Await in VB.NET: Keeping Your UI Alive Without Thread Plumbing
VB.NET's Async/Await lets you write non-blocking UI and server code in ordinary top-to-bottom style. Here's how the state machine works, a WinForms example, and the deadlock and Async Sub traps to avoid.