NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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

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

    阅读完需:约 2 分钟

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

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

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

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

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

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

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

关注

评论

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

喜讯!索信达荣获CCSA TC601年度“优秀成员单位”

索信达控股

[翻译]反生产力宣言

宇宙之一粟

人生 时间管理 高效能

软件测试/测试开发丨如何开始webView 性能测试

测试人

软件测试 性能测试 自动化测试 测试开发

如何过好4000周:关于重新校准人生时间的建议

宇宙之一粟

时间管理

阿里巴巴内网 Java 面试 2000 题解析(2023 最新版

三十而立

面试造火箭?GitHub 飙升“2023(Java 岗)面试真题汇总”转载 40 万

三十而立

【亲测有效】30 岁测试工程师的 12 个破除内卷技能!

禅道项目管理

职场 互联网人 敏捷测试 测试工程师

阿里正式加入ChatGPT战局,“通义千问”上线后表现如何?

引迈信息

AI 阿里 低代码 语言模型 ChatGPT

华为云助力制造业高效实现数字化转型

科技怪授

华为云发布多项场景化解决方案助力制造业企业加速上云

IT科技苏辞

狂刷《Java 权威面试指南(阿里版)》,冲击“金三银四”有望了

三十而立

Excelize 发布 2.7.1 版本,Go 语言 Excel 文档基础库

xuri

开源 编程 Excel Go 语言 Excelize

IoTDB Raft协议核心研发宋子阳成为Ratis Committer:分布式IoTDB深度并创新运用Raft协议保障高可用

Apache IoTDB

IoTDB Apache IoTDB

有关TCP协议,这是我看过讲的最清楚的一篇文章了!

三十而立

不想做架构师的Gopher不是好程序员

王中阳Go

Docker 高效工作 学习方法 面试题 Go 语言

KubeVela:云原生应用和平台工程之路

阿里巴巴云原生

阿里云 开源 云原生 KubeVela

一站式开发平台 加速企业数字化发展

力软低代码开发平台

华为云开源项目OpenTiny的TinyCLI是什么时候开源的?

英勇无比的消炎药

前端 开源项目 cli UI组件库

借力函数计算 FC,HEROZ 打造专业级 AI 日本将棋服务

阿里巴巴云原生

阿里云 云原生 函数计算

华为云开源项目OpenTiny的TinyNG组件库的设计理念是什么?

英勇无比的消炎药

前端 开源项目 OpenTiny UI组件库

2023年最强手机远程控制横测:ToDesk、向日葵、Airdroid三款APP免Root版本

陈橘又青

远程连接

联想超融合加入龙蜥社区,多产品完成与 Anolis OS 适配

OpenAnolis小助手

开源 操作系统 龙蜥社区 龙腾计划 联想超融合

Go 语言读取文件的几种方式

宇宙之一粟

Go 语言

ChatGPT-5到底有多强?Battle!咱貌似也不输呀!

加入高科技仿生人

人工智能 AI 低代码 ChatGPT GPT-4

技术实力与社区贡献的双重认可!乔嘉林成为 Apache 软件基金会 Member

Apache IoTDB

IoTDB Apache IoTDB

Apifox:API 接口自动化测试完全指南

Apifox

测试 自动化测试 测试工具 接口工具免费 免费工具

制造企业如何解决数据分散和管理困难的问题,实现数字化转型?

IT科技苏辞

读懂一个项目的研发效能 之 项目人效

思码逸研发效能

研发效能 功能更新

“PMC零距离” 赖晖:在 IoTDB 我实现了参与贡献共识协议的兴趣方向!

Apache IoTDB

IoTDB Apache IoTDB

MobTech MobPush|推送的下发逻辑是什么样的

MobTech袤博科技

前端技术培训学习哪个机构靠谱?

小谷哥

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