1、定义
await表达式指定了一个异步执行的任务。由await关键字 和 一个空闲对象(称为任务task)组成。
这个任务可能是一个Task类型的对象,也可能不是。默认情况下,这个任务在当前线程异步运行。
然而实际上,并不需要构建自己的awaitable,而应该使用Task类,它是awaitable类型。
2、.NET4.5中,微软发布了大量新的和修订的异步方法(在BCL中),它们可返回Task<T>类型的对象。
3、尽管在BCL中存在很多返回Task<T>类型对象的方法,你仍然可能需要编写自己的方法,作为await表达式的任务
最简单的方式:使用Task.Run方法来创建一个Task。Task.Run方法实在不同的线程上运行你的方法。