写点什么

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

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

    阅读完需:约 2 分钟

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

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

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

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

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

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

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

关注

评论

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

火了!阿里资深架构师总结的春招Java岗核心笔记,GitHub标星20k

Java你猿哥

Java ssm 面经 Java工程师 java核心知识

技术同学如何做好向上管理

老张

职场新人 向上管理

DevOps infra | 互联网、软件公司基础设施建设(基建)哪家强?

laofo

DevOps 研发效能 持续交付 infra 平台工程

Java概述与基础知识

timerring

Java

成立数科公司之余,央国企推进数智化转型还需要底座支撑

用友BIP

AI时代要用俄罗斯套娃思考模式

FN0

AIGC

包装了三年工作经验的我,被同事发现居然连这些Maven的操作都不懂

Java你猿哥

maven ssm 架构师 Java工程师

NCCL源码解析②:Bootstrap网络连接的建立

OneFlow

人工智能 深度学习

【分布式技术专题】「单点登录技术架构」一文带领你好好认识以下Saml协议的运作机制和流程模式

洛神灬殇

分布式 SAML SSO 单点登录

JetCache 缓存开源组件设计精要

阿里技术

缓存 JetCache

Redis一主二从环境搭建

京茶吉鹿

nosql redis

五面阿里巴巴拿offer后定级P6:分享Java面经及答案总结

Java你猿哥

Java 面试 面经 春招 Java八股文

ChatGPT会在三年内终结编程吗?| 社区征文

芯动大师

程序员 ChatGPT 三周年征文

潮起风来,政企DICT “跃升”之乘风破浪篇

鲸品堂

DT IT 企业号 4 月 PK 榜 ct

AI日课@20230409:对话式用户界面

无人之路

ChatGPT

Kubernetes 本地持久化存储方案 OpenEBS LocalPV 落地实践上——使用篇

江湖十年

k8s 后端 #Kubernetes# Go 语言

“成本刺客”防不胜防,如何应用亚马逊云科技驾驭云成本

Lily

为了减少延迟和卡顿,我对 MySQL 查询做了这些优化处理...

Java你猿哥

MySQL sql ssm MySQL优化 优化SQL

华为运动健康服务Health Kit 6.10.0版本新增功能速览!

HarmonyOS SDK

HMS Core

流程图哪个软件好用?10款好用的流程图软件推荐:boardmix、Visio、Miro…

彭宏豪95

效率工具 职场 工具 流程图 在线白板

数据散、管理难和上云难,看华为云解决制造业数字化转型难题

与时俱进的时代

数字化转型困局?华为云提供多款解决方案助力制造业企业上云加速转型

与时俱进的时代

Spring 之依赖注入底层原理

Java你猿哥

spring ssm 架构师 Java工程师 spring ioc

浏览器缓存清理:Cookie for Mac6.9.0激活版

真大的脸盆

Mac Mac 软件 缓存清理 清理缓存 缓存处理工具

“程序员”即将失业 | 社区征文

六月的雨在InfoQ

程序员 ChatGPT GPT-4 三周年征文

前端工程化实战:React 的模块化开发、性能优化和组件化实践

兴科Sinco

性能优化 前端工程化 React Native 前端模块化 组件化开发

如何高效清洗数据?试试这款神器

博文视点Broadview

MySQL自增ID用完了怎么办?4种解决方案!

Java你猿哥

Java MySQL sql 后端 ssm

四川农信:与先进科技融合,更好服务广大用户|客户之声

OceanBase 数据库

数据库 oceanbase

iOS SKAN 4.0 时代的广告追踪优化:掌握隐私友好的营销策略

37手游iOS技术运营团队

SKAdNetwork SKAN IDFA ATT App Tracking Trans

一文吃透Arthas常用命令!

程序员大彬

Java JVM

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