当前位置: 首页 > news >正文

2.1 基于委托的异步编程方法

        基于委托的异步编程模型是 .NET 早期版本中实现异步操作的一种方式,主要通过 BeginInvoke 和 EndInvoke 方法来实现。这种基于委托的异步模式已被 Task 和 async/await 模式取代,但在维护旧代码时仍可能遇到这种模式。

        委托的方法中:Invoke用于同步调用;  而BeginInvoke与EndInvoke用于异步调用。

一、具体介绍:

1.1 异步调用BeginInvoke 方法:
调用格式是:BeginInvoke( 委托的参数,AsyncCallback类型的回调函数,一个object对象),      该回调函数是在委托完成后自动调用的函数。 object对象是任何一种对象,可以传递给委托函数。

        特点如下:
        a. 主线程调用此函数后,立即返回,不等待调用完成
        b.  返回 IAsyncResult 用于监视调用状态. 在EnInvoke中使用该返回值

1.2 EndInvoke 方法:
        用于获取异步调用的结果;调用此方法后,如果操作未完成,会阻塞调用线程直到完成。

        而且:如果委托函数中有exception异常,是在调用EndInvoke时触发这个异常的。即即使委托执行中有异常,如果后面没有调用EndInvoke这个异常不

相关文章:

  • SSRF学习
  • Spring 01
  • 9、Hooks:现代魔法咒语集——React 19 核心Hooks
  • 数字系统与编码
  • 计算机组成原理笔记(十六)——4.1基本算术运算的实现
  • Java Streams 使用教程
  • 即梦AI与可灵AI视频生成功能对比分分析
  • AI与思维模型【70】——遗忘曲线
  • 从外网访问局域网服务器的方法+Linux文件和命令
  • App-Controller - 通过自然语言操控应用程序的智能框架
  • tigase源码学习杂记-组件化设计
  • 人工智能之矢量搜索报告
  • 如何轻松实现用户充值系统的API自动化测试
  • 【实战中提升自己】内网安全部署之端口隔离与MAC地址认证
  • Dify部署内网时遇到的代理问题及解决办法
  • 【C语言】char unsigned char signed char
  • python 字符串解析 struct.unpack_from(fmt, buffer, offset=0) ‘<? B I‘
  • 从零开始详细讲解 Boost.Asio
  • ZYNQ笔记(十):XADC (PS XDAC 接口)
  • 火箭姿态控制系统
  • 新疆维吾尔自治区交通运输厅副厅长刘艳东接受审查调查
  • 《“四有”好老师系列丛书》发布,由顾明远总主编
  • 花卉引流+商场促销,上海浦东用“花经济”带动“消费热”
  • AI时代教育如何变革?上海首批 “标准化家长学校”出炉
  • 老旧高层遭“连环漏水”,如何携手共治解难题?
  • 伊朗艺术中的中国风