基于任务的异步模式(TAP)是基于System.Threading.Tasks.Task命名空间中的System.Threading.Tasks.Task<TResult>和System.Threading.Tasks类型,这些类型用于表示任意 异步模式。TAP是用于新开发的建议异步设计模式
TAP使用单个方法表示异步操作的开始和完成。这与异步编程模型(APM或者IAsyncResult)模型和基于事件的异步模式(EAP)形成对比。APM需要Begin和End方法。EAP需要后缀为Async的方法,以及一个构造多个事件、事件处理程序委托类型和EventArg派生类型。TAP中的异步方法在返回可等待类型(如:Task、Task<TResult>、ValueTask、ValueTask<TResult>)的方法的操作名称后面添加Async后缀。
任务状态:
Task类提供了异步操作的生命周期,且该周期由TaskStatus枚举表示,为了支持派生自Task和Task<TResult>的类型的个别案例,并支持调用时分离构造,Task类公开了start方法。谷歌Task构造函数创建的任务称为“冷任务”,因为他们在非计划Created的状态下开始生命周期,并在对这紫萼实例带哦用Start时才会被排入计划。