AICon 上海站|90%日程已就绪,解锁Al未来! 了解详情
写点什么

微软发布 Reactive 框架,简化异步及事件驱动编程

  • 2009-11-18
  • 本文字数:862 字

    阅读完需:约 3 分钟

对于流行的 Web 应用或者基于云的应用程序来说,保证伸缩性关键之一便是“异步”,事实上 Silverlight 已经阻止了所有阻塞的网络和线程操作。而对于传统的桌面应用程序来说,为了在高延迟的 IO 操作,或耗时的计算过程中保持流畅的响应能力,往往也必须使用异步任务来完成工作。而对于交互式应用程序来说,还有一个常见的特点是“事件驱动”。例如,用户会源源不断地通过 GUI 界面向程序产生“事件流”,这种异步事件流包括鼠标,键盘或其他一些输入方式。

微软近期于 DevLabs 发布了 Reactive 扩展,目标是简化异步及事件驱动程序的构建,尤其适合如 Silverlight 或基于云服务的应用程序。同时, Channel 9 对其主要设计者 Erik Meijer 进行了采访,Erik 谈论了 Reactive 框架的设计原因,思路及可用场景。

Erik 谈到,设计 Reactive 框架的原因是在于他希望寻找异步及事件驱动程序的共同点。例如对于普通的集合来说,如数组或 List,它们都是通过 IEnumerable 及 IEnumerator 来暴露内部元素。这是一种“拉(Pull)”模型,即代码可以不断通过 MoveNext 来获取元素。而 Reactive 框架则是一种与之相对的模型,通过 IObservable 和 IObserver 两个接口来产生元素,是为“推”模型。不过这两个模型的实现比 IEnumerable 或 IEnumerator 要复杂的多,它们基于.NET 4.0 中的并行库(或.NET 3.5 的并行扩展)所带来的并行及异步组件。

Reactive 框架中还包括面向 IObservable 和 IObserver 的 LINQ 扩展,如胶水般粘合了针对此类容器的异步或事件处理操作。这些容器可以是标准的.NET 事件、基于 APM 模型的异步计算,并行框架中的 Task,Windows 7 传感和定位 API,SQL StreamInsight 的事件流等等。也可以是 F#的事件和异步数据流。

目前 Reactive 框架基于 pre-release 授权许可发布,可用于测试和开发,但还不能用在生产环境中。目前 Reactive 框架有三个安装包,分别对应.NET Framework 3.5 SP1 .NET Framework 4.0 Beta 2 Silverlight 3 三种平台。你可以在 Reactive 框架开发团队博客 Channel 9 的 Rx 专辑中了解更多相关信息,也可以在论坛上给出反馈意见。

2009-11-18 02:527233
用户头像

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

关注

评论

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

企业如何安全跨国传输30T文件数据

镭速

跨国数据传输 跨境数据传输

PostgreSQL基于Patroni方案的高可用启动流程分析

谐云

APP移动出海必备神器,MobPush提供海外消息智能推送一站式解决方案

MobTech袤博科技

智能推送

数智化推送助力用户精准分层,MobPush是如何实现用户价值变现的

MobTech袤博科技

智能推送

基于多向量检索器的多模态 RAG 实现

Tiger Wang

多模态 LLM huggingface 大语言模型 langchain

应用容器化转型系列-容器部署的常见形态

品高云计算

第13期 | GPTSecurity周报

云起无垠

腾讯Ckafka队列使用测评

查拉图斯特拉说

kafka 消息中间件

精准突击!Mysql亿级数据开发手册,GitHub 132k starts | 实战解析。

程序员万金游

Java #编程 #Mysql #学习 #程序员】

深度解读MediaBox SDKs如何实现技术架构升级

阿里云CloudImagine

云计算 视频云

一招教会跨国企业如何解决跨境数据传输的丢包和延迟问题

镭速

跨境数据传输

推送内容有误怎么办?MobPush撤回/取消推送为您排忧解难

MobTech袤博科技

智能推送

都说在边缘落地视频智能分析难,但是这次有了大模型!

Baidu AICLOUD

边缘计算 大模型 边缘云

性能卓越 全栈自主 HashData与华为金融数仓一体机联合方案全面解读

酷克数据HashData

为什么要学音视频?

X2Rtc

开源 音视频 RTC 就业

LLM 大语言模型应用的分段策略

Tiger Wang

LLM 大语言模型 langchain

为什么C4D能成为电商设计的王者?

Finovy Cloud

C4D 电商设计

免费活动-11月4日敏捷武林上海站 | Scrum.org CEO 亲临现场

顿顿顿

Scrum 敏捷开发 敏捷项目管理 敏捷活动 scrum活动

“敏捷教练必修课程”11月25-26日 · CSM认证在线周末班【分时段模块化教学】CST导师亲授

ShineScrum

.NET CORE 属性DI注入

gogo

微软发布Reactive框架,简化异步及事件驱动编程_.NET_赵劼_InfoQ精选文章