.NET 2.0中基于事件的异步编程模式(EAP)如何改写为长尾?

2026-03-30 11:180阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1657个文字,预计阅读时间需要7分钟。

.NET 2.0中基于事件的异步编程模式(EAP)如何改写为长尾?

APM为我们的异步编程提供了必要的支持,同时它也存在一些明显的局限性,不支持对异步操作的取消和没有提供进度报告的功能。对于需要进度报告和取消功能的面向界面的应用程序来说,这一点尤其重要。

一、引言

APM为我们实现异步编程提供了一定的支持,同时它也存在着一些明显的问题——不支持对异步操作的取消和没有提供对进度报告的功能,对于有界面的应用程序来说,进度报告和取消操作的支持也是必不可少的。

微软在.NET 2.0的时候就为我们提供了一个新的异步编程模型,也就是基于事件的异步编程模型——EAP(Event-based Asynchronous Pattern)。

二、介绍

实现了基于事件的异步模式的类将具有一个或者多个以Async为后缀的方法和对应的Completed事件,并且这些类都支持异步方法的取消、进度报告和报告结果。

当我们调用实现基于事件的异步模式的类的 XxxAsync方法时,即代表开始了一个异步操作,该方法调用完之后会使一个线程池线程去执行耗时的操作,所以当UI线程调用该方法时,当然也就不会堵塞UI线程了。

并且基于事件的异步模式是建立了APM的基础之上的,而APM又是建立了在委托之上的。

阅读全文

本文共计1657个文字,预计阅读时间需要7分钟。

.NET 2.0中基于事件的异步编程模式(EAP)如何改写为长尾?

APM为我们的异步编程提供了必要的支持,同时它也存在一些明显的局限性,不支持对异步操作的取消和没有提供进度报告的功能。对于需要进度报告和取消功能的面向界面的应用程序来说,这一点尤其重要。

一、引言

APM为我们实现异步编程提供了一定的支持,同时它也存在着一些明显的问题——不支持对异步操作的取消和没有提供对进度报告的功能,对于有界面的应用程序来说,进度报告和取消操作的支持也是必不可少的。

微软在.NET 2.0的时候就为我们提供了一个新的异步编程模型,也就是基于事件的异步编程模型——EAP(Event-based Asynchronous Pattern)。

二、介绍

实现了基于事件的异步模式的类将具有一个或者多个以Async为后缀的方法和对应的Completed事件,并且这些类都支持异步方法的取消、进度报告和报告结果。

当我们调用实现基于事件的异步模式的类的 XxxAsync方法时,即代表开始了一个异步操作,该方法调用完之后会使一个线程池线程去执行耗时的操作,所以当UI线程调用该方法时,当然也就不会堵塞UI线程了。

并且基于事件的异步模式是建立了APM的基础之上的,而APM又是建立了在委托之上的。

阅读全文