写点什么

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

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

    阅读完需:约 2 分钟

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

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

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

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

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

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

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

关注

评论

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

JavaScript 类型化数组

空城机

JavaScript 大前端 5月日更 类型化数组

千万级学生管理系统的<考试试卷>存储方案

唐江

架构实战营

“读万卷书,行万里路”,让你收获一个不平凡的人生

小天同学

读书 成长 旅行 5月日更

分布式事务与分布式系统

邱学喆

分布式事务 raft CAP PAXOS 副本一致性

集成学习案例一 (幸福感预测)

容光

数据处理

NumPy之:ndarray多维数组操作

程序那些事

Python Numpy 程序那些事

Rust从0到1-错误处理-panic!

rust 错误处理 Error 不可恢复错误

浪潮云向前进一步,又向后让一步

云计算

让人工智能成为保险行业科技基因的一部分!

百度大脑

人工智能 保险

❄️【程序员必看系列】开源项目有盈利模式指南

洛神灬殇

开源 程序员 盈利模式 5月日更

Flutter开发:Failed to retrieve the Dart SDK…的解决方法

三掌柜

5月日更

🚄【Redis 干货领域】从底层彻底吃透 AOF 重写 (源码篇)

洛神灬殇

redis aof Redis 协议 Redis 核心技术与实战 5月日更

霸榜GitHub的阿里内部Spring Boot实战文档到底有多强?

Java 架构 面试 微服务

论Http、Socket、WebSocket、WebService(SOAP)之间的区别

Damon

5月日更

HTTP/3 初体验

运维研习社

nginx 运维 HTTP3.0 5月日更

Unix/Linux 编程:网络编程之 线程池

赖猫

Linux Linux服务器开发 Linux网络编程

android端音频采集与播放

floer rivor

android 音视频

如何成为云原生技术高阶玩家?华为云最近做了这件事

华为云开发者联盟

容器 DevOps 微服务 云原生 华为云

kafka基本概念

杨四正

大数据 kafka 架构设计 消息队列 消息队列架构

私有云解决方案

anyRTC开发者

音视频 WebRTC RTC sdk

《冰河的渗透实战笔记》电子书,442页,37万字,正式发布!!

冰河

网络安全 信息安全 渗透测试 网络攻防 互联网技术

进程内缓存助你提高并发能力!

万俊峰Kevin

缓存 微服务 本地缓存 Go 语言

智能视频云3.0全景图来了!深度融合视频应用共创行业新生态

百度大脑

云智一体 智能视频 云智技术

docker(centos系统)安装vim工具

liuzhen007

Docker 5月日更

成功产品三要素

lenka

5月日更

【LeetCode】找出第 K 大的异或坐标值Java题解

Albert

算法 LeetCode 5月日更

Dubbo 负载均衡

青年IT男

dubbo

人人都在谈的图数据库到底是个啥?

华为云开发者联盟

大数据 数据结构 数据 图数据库 华为云图引擎图数据库GES

丰田汽车选用Mobileye和采埃孚的安全技术

E科讯

Golang List, Ring and Map

escray

学习 极客时间 Go 语言 5月日更

冈萨雷斯《数字图像处理》学习总结及感悟:第一章 绪论 百闻不如一见

老猿Python

图形图像处理 数字图像处理 冈萨雷斯

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