三种异步模式(扫盲)&BackgroundWorker

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之后再讨论。

 

关于三种异步操作详细说明请戳:这里 

 

posted @ 2023-01-05 08:55  芯蕊霸霸  阅读(129)  评论(0)    收藏  举报