Download and more reference material here:

Great crash course article from Alexandra Rusina here:

Executive summary:

Basically you get two new powerful C# language keywords, await and async.  Instead of having to write callback methods for multithreaded code, you can now decorate a method signature with async and call the method with await. You write the code as if it were a synchronous block of code and let the runtime perform the heavy lifting.  Very cool and really streamlined.  I wonder what debugging will look like.