http://blog.stephencleary.com/2012/02/async-and-await.html
严格来说,这篇文章不是专门讲TAP入门的,而是讲微软是如何引入了
async和await关键字来实现程序组织的新模式,也就是编译器通过awaiter把你的代码从新‘’异步‘’组织了一下。然后系统级别支持这种async方法的caller有桌面UI, asp.net的request handler线程等(它们都有SynchronizationContext, 用于后台处理完这个async方法后回到原caller线程)。
async方法一般返回Task或Task<T>, 或者确定不用被上一层await时,也可以返回void, 没有return, 这和返回Task是一样的。
至于Task的实现,还是看源代码比较好。