飞天发布时刻:2024年 Forrester 公有云平台Wave™评估报告解读 了解详情
写点什么

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

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

    阅读完需:约 2 分钟

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

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

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

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

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

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

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

关注

评论

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

移动App开发常见的三种模式(原生应用、H5移动应用、混合模式应用)

天津汇柏科技有限公司

软件开发 APP开发 软件定制开发

华为云亮相LEAP科技展,携手沙特共创智能新高度

华为云开发者联盟

云计算 后端 华为云 华为云开发者联盟

游戏行业需要堡垒机吗?用哪款堡垒机好?

行云管家

网络安全 游戏 数据安全 堡垒机

淘系接口推荐:淘宝店铺所有商品数据接口

tbapi

淘宝API接口 淘宝店铺所有商品数据接口 淘宝商品数据采集

目前人工智能的发展,未来对人类的就业有那些影响?

算法的秘密

Amazon SageMaker 机器学习之旅的助推器

亚马逊云科技 (Amazon Web Services)

再聊对架构决策记录的一些思考

京东科技开发者

为了跳槽或提升自己,你会先学习哪一门编程语言?

小齐写代码

基于 Sass 的架构之 redis多租户

智慧源点

科技越发展普通人会越限制还是越free?

算法的秘密

GaussDB(DWS)集群通信:详解pooler连接池

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 华为云GaussDB(DWS)

PostgreSQL数据库连接数设置的越大越好吗

张文平

数据库 postgresql 连接数 数据库配置

震惊:苹果手机电池栏“黑白无常”

京东科技开发者

告别过往,重获新生

少油少糖八分饱

村上春树 小说推荐 海边的卡夫卡

1688接口推荐:1688商品详情数据接口

tbapi

1688 1688API接口 1688商品详情数据接口 1688商品数据采集

电动车窗开关中MOS管的应用解析

芯动大师

汽车电子 芯片技术 MOS管

实时工业控制系统的创新整合:PLC4X与CnosDB的高效数据采集与存储

CnosDB

开源 时序数据库 tsdb CnosDB

南开大学OpenHarmony技术俱乐部揭牌成立

科技热闻

借助 Terraform 功能协调部署 CI/CD 流水线-Part 2

SEAL安全

运维 云原生 CI/CD Terraform

HarmonyOS-安装篇(DevEco Studio)

京东科技开发者

利用1688商品详情API:打造高效的电商解决方案

技术冰糖葫芦

API Explorer API 接口 API 策略 pinduoduo API

跨境电商三大趋势

api开发

CCE集群VPC网络模式下几种访问场景

华为云开发者联盟

后端 开发 华为云 华为云开发者联盟

MySQL 8.0.26版本升级32版本查询数据为空的跟踪

GreatSQL

开源无代码 / 低代码平台 NocoBase 0.20:支持多数据源

NocoBase

开源 低代码 低代码开发 低代码平台 无代码平台

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