异步编程全解析:从基础到实践
1. 异步编程模型概述
在异步编程领域,存在三种不同的模型:
- 异步编程模型(APM) :使用 BeginMethod
启动异步进程, EndMethod
完成异步进程。
- 基于事件的异步模式(EAP) :使用 MethodAsync
启动异步进程, CancelAsync
处理异步操作的取消,使用完成事件处理程序处理已完成的异步操作。
- 任务并行库(TPL) :采用 async
和 await
模式,异步方法名通常以 async
结尾,一般返回可等待的 Task
或 Task<Result>
。从 .NET 4.5 开始,建议使用 TPL 替代 APM 和 EAP。
TPL 成为了主流选择,而任务型异步模式(TAP)则是基于 TPL 构建的,其基础类型来自 System.Thread.Tasks
命名空间,以及 Task
和 Task<Tresult>
类。微软建议在新项目中使用 TAP。
2. TAP 模型的命名、参数和返回类型
- 命名 :异步方法的