写点什么

文章:简化异步操作(下)──构建 AsyncTaskDispatcher 简化多个异步操作之间的协作调用

  • 2009-02-24
  • 本文字数:561 字

    阅读完需:约 2 分钟

由于 CCR 和 AsyncEnumerator 难以“并行”地执行异步代码,因此我们需要提出新的解决方案来满足这方面的需求。本文将构建一个 AsyncTaskDispatcher 组件,使多个异步操作之间的协作调用得以大大简化。

与之前的作法相比,似乎代码量提高了,但是观察后可以发现,多出来的代码其实都是在创建匿名的委托对象,而一个个匿名的委托对象将代码进行了有条理 的分割,并充分利用“匿名方法”形成的闭包,使各委托对象能够共享“调用堆栈”上的数据。现在的实现使用了一种直观的方式表现了各异步操作之间的依赖关 系,代码一下子变得条理清晰,易于维护了。此外还有一点非常重要:虽然异步任务为“并行”执行,但是其中所有的委托对象只会依次调用,因此开发人员可以放 心地编写代码,而不用担心线程安全方面的问题。

在 AsyncEnumerator 的基础上开发一个 AsyncTaskDispatcher 并不困难,但是这个组件能够有效地简化多个异步操作之间 的协作调用。一般来说,这样的做法能够使应用程序的性能与伸缩性得到比较明显的提高。AsyncTaskDispatcher 的代码在 MSDN Code Gallery 上完全公开,您可以自由修改,使它更好地满足您的需求。

阅读完整文章,请访问:简化异步操作(下):构建 AsyncTaskDispatcher 简化多个异步操作之间的协作调用

相关文章简化异步操作(上)──使用 CCR 和 AsyncEnumerator 简化异步操作

2009-02-24 00:301582
用户头像

发布了 157 篇内容, 共 57.8 次阅读, 收获喜欢 6 次。

关注

评论

发布
暂无评论
发现更多内容

经典面试题-如何将字符串转化为整型

霍格沃兹测试开发学社

技术分享 | 接口测试中如何使用Json 来进行数据交互 ?

霍格沃兹测试开发学社

LinkedList源码分析(五)

知识浅谈

linkedlist 10月月更

更新:为 NGINX 配置免费的 Let's Encrypt SSL/TLS 证书

NGINX开源社区

nginx 更新 SSL/TLS 协议

App测试时常用的adb命令你都掌握了哪些呢?

霍格沃兹测试开发学社

技术分享 | 接口自动化测试之JSON Schema模式该如何使用?

霍格沃兹测试开发学社

秒验 客户端SDK返回码

MobTech袤博科技

sdk 客户端

vue这些原理你都知道吗?(面试版)

bb_xiaxia1998

Vue

使用Mock技术帮助提升测试效率的小tips,你知道几个?

霍格沃兹测试开发学社

技术分享 | 服务端接口自动化测试, Requests 库的这些功能你了解吗?

霍格沃兹测试开发学社

京东T8纯手码的Redis核心原理手册,基础与源码齐下,吃透全部知识点

Geek_0c76c3

Java 程序员 架构 面试

【IT运维】自动化运维和普通的运维的区别是什么?哪个好?

行云管家

运维 IT IT运维 自动化运维

阿里巴巴最新发布的Java架构六大专题面试宝典,都是些大厂的面试真题汇总,还不赶紧收藏

Geek_0c76c3

Java 数据库 程序员 面试 开发

技术分享 | 接口自动化测试中如何对xml 格式做断言验证?

霍格沃兹测试开发学社

Kata Containers 3.0.0 版本已发布

极客天地

开发者嘉年华|博客马拉松挑战,记录学习进程,分享你的知识!

Jina AI

开源 工程师 技术博客 1024

Photoshop软件应用项目(一)

张立梵

设计师 ps 10月月更

私有云运维管理系统是什么?哪款软件好?

行云管家

云计算 私有云 多云 云管理

2022年阿里最新开源: Java 面试权威指南(泰山版),涨薪 30%不在话下

Geek_0c76c3

Java 数据库 开源 程序员 架构

测试人生 | 二线城市年薪超40W?疫情之下涨薪100% + 是怎么做到的?

霍格沃兹测试开发学社

技术分享 | 接口测试之HTTP 协议讲解

霍格沃兹测试开发学社

技术分享 | 实战详解接口测试请求方式Get、post

霍格沃兹测试开发学社

9个SQL运维常遇到的问题

华为云开发者联盟

数据库 sql 华为云 函数 企业号十月PK榜

技术分享 | 如何模拟真实使用场景?mock 技术来帮你

霍格沃兹测试开发学社

技术分享 | 接口自动化测试如何搞定 json 响应断言?

霍格沃兹测试开发学社

移动端IM产品RainbowChat[专业版] iOS端 v6.0版已发布!

JackJiang

网络编程 即时通讯 IM

STM32L051测试 (三、I2C协议设备的添加测试)

矜辰所致

stm32 I2C STM32CubeMX STM32L051 10月月更

技术分享 | 接口测试之HTTP、HTTPS 抓包分析

霍格沃兹测试开发学社

接口测试经典面试题:Session、cookie、token有什么区别?

霍格沃兹测试开发学社

技术分享 | 实战演练接口自动化如何处理 Form 请求?

霍格沃兹测试开发学社

从展会看LED显示屏行业发展风向标

Dylan

LED显示屏 led显示屏厂家

文章:简化异步操作(下)──构建AsyncTaskDispatcher简化多个异步操作之间的协作调用_.NET_赵劼_InfoQ精选文章