异步编程设计模式

异步操作通常用于执行完成时间可能较长的任务,如打开大文件、连接远程计算机或查询数据库。异步操作在主应用程序线程以外的线程中执行。应用程序调用方法异步执行某个操作时,应用程序可在异步方法执行其任务时继续执行。

.NET Framework 为异步操作提供两种设计模式:

  • 使用 IAsyncResult 对象的异步操作。

  • 使用事件的异步操作。

IAsyncResult 设计模式允许多种编程模型,但更加复杂不易学习,可提供大多数应用程序都不要求的灵活性。可能的话,类库设计者应使用事件驱动模型实现异步方法。在某些情况下,库设计者还应实现基于 IAsyncResult 的模型。

有关使用事件的异步操作的文档,请参见基于事件的异步模式概述

.NET Framework 的许多方面都支持异步编程功能,这些方面包括:

  • 文件 IO、流 IO、套接字 IO。

  • 网络。

  • 远程处理信道(HTTP、TCP)和代理。

  • 使用 ASP.NET 创建的 XML Web services。

  • ASP.NET Web 窗体。

  • 使用 MessageQueue 类的消息队列。

本节内容

异步编程概述

讨论基于 IAsyncResult 的异步设计模式,此模式提供灵活的处理异步操作的编程模型。

使用 IAsyncResult 调用异步方法

提供代码示例,演示应用程序检测异步操作结束的各种方式。

使用委托进行异步编程

介绍以异步方式调用同步方法。

使用基于事件的异步模式进行多线程编程

介绍基于事件的异步模式,该模式提供使用事件进行跨线程通信的异步编程模型。

请参见

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值