在c#并行编程这本书中是这么介绍await的:async方法在开始时以同步方式执行,在async方法内部,await关键字对它参数执行一个异步等待,它首先检查操作是否已经完成,如果完成,就继续运行(同步方式...我们的第一次代码没有在子线程编写任何代码,所以await在执行第一次检查操作时就会立即返回,然后执行Thread.Sleep()代码阻塞主线程....,也就是弹出"同步代码"这句话,直到await等待子线程执行完毕后执行主线程睡眠那句代码,也就是主线程阻塞3秒钟.
2.ConfigureAwait方法
在Task里中有ConfigureAwait...光看这段代码并看不出什么,然后我们再看这么一段话:"一个async方法是由多个同步执行的程序块组成.每个同步程序块之间由await语句分隔.用await语句等待一个任务完成.当该方法在await处暂停时...这个上下文一般时UI上下文(运行在UI上)或请求上下文(ASP.NET) 这两个可以说时原始上下文,而其它情况采用线程池上下文,也就是开辟一个新线程。