1.APM&EAP&TAP
.NET支持三种异步编程模式分别为APM、EAP和TAP:
1.基于事件的异步编程设计模式 (EAP,Event-based Asynchronous Pattern)
EAP的编程模式的代码命名有以下特点:
1.有一个或多个名为 “[XXX]Async” 的方法。这些方法可能会创建同步版本的镜像,这些同步版本会在当前线程上执行相同的操作。
2.该类还可能有一个 “[XXX]Completed” 事件,监听异步方法的结果。
3.它可能会有一个 “[XXX]AsyncCancel”(或只是 CancelAsync)方法,用于取消正在进行的异步操作。
2.异步编程模型(APM,Asynchronous Programming Model)
APM的编程模式的代码命名有以下特点:
1.使用 IAsyncResult 设计模式的异步操作是通过名为[BeginXXX] 和 [EndXXX] 的两个方法来实现的,这两个方法分别开始和结束异步操作 操作名称。例如,FileStream 类提供 BeginRead 和 EndRead 方法来从文件异步读取字节。
2.在调用 [BeginXXX] 后,应用程序可以继续在调用线程上执行指令,同时异步操作在另一个线程上执行。 每次调用 [BeginXXX] 时,应用程序还应调用 [EndXXX] 来获取操作的结果。
3.基于任务的编程模型(TAP,Task-based Asynchronous Pattern)
基于 System.Threading.Tasks 命名空间的 Task 和 Task<TResult>,用于表示任意异步操作。 TAP之后再讨论。
关于三种异步操作详细说明请戳:这里