异步编程:基于事件的异步编程模式(EMP)
上一篇,我给大家介绍了“.NET1.0中基于IAsyncResult设计模式的异步编程模型(APM)”,它使用System.Threading命名空间的类来构造多线程应用程序。然而要想有效地使用这些工具类,需要有丰富的使用多线程软件工程的经验。对于相对简单的多线程应用程序,BackgroundWorker组件提供了一个简单的解决方案。对于更复杂的异步应用程序,可以考虑实现一个符合基于事件的异步模式的类。 使用支持此模式的类,您将能够: 1)异步执行耗时的任务。 2)获得进度报告和增量结果。 3)支持耗时任务的取消。 4)获得任务的结果值或异常信息。