把握行业变革关键节点,12 月 19 日 - 20 日,AICon北京站即将重磅启幕! 了解详情
写点什么

微软发布 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:527523
用户头像

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

关注

评论

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

架构师养成第二课

万有引力

架构师训练营 - 第十一周总结

一个节点

极客大学架构师训练营

离开

成周

整天都在讨论使用SpringBoot,可你居然连缓存都不清楚

小Q

Java 缓存 学习 面试 springboot

Mysql Docker 主从配置

MySQL Docker 主从读写

架构师训练营第二周学习心得

cc

架构师训练营第 1 期第11周作业

业哥

5 千字长文+ 30 张图解 | 陪你手撕 STL 空间配置器源码

程序员贺同学

c++ 源码 后端 内存 stl

第二周 框架设计 学习总结

胡云飞

极客大学架构师训练营 框架设计

喝完可乐桶后程序员回归本源,开源Spring基础内容

小Q

Java spring 学习 源码 面试

LeetCode题解:874. 模拟行走机器人,模拟情境,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

阿里开源十亿级并发设计手册:数据库+缓存+消息队列+分布式+维护

Java架构追梦

Java 阿里巴巴 编程 架构 亿级流量

秒懂DHCP是什么

架构师训练营第七周作业

丁乐洪

性能压测的时候,随着并发压力的增加,系统响应时间和吞吐量如何变化,为什么?

落朽

我膨胀了,测试必要商城小程序,用了3种方式!:)

清菡软件测试

App

极客时间架构师训练营 1 期 - 第 11 周总结

Kaven

架构师训练营 - 第十一周作业

一个节点

极客大学架构师训练营

《Linux就该这么学》PDF版免费下载

计算机与AI

Linux

那些年,支撑尾款人们熬夜的AI

脑极体

Sharding-Sphere Proxy 分库分表 简单示例

Java MySQL 分库分表 ShardingSphere-Proxy

ShardingSphere Raw JDBC 主从示例

Java JDBC ShardingSphere

ShardingSphere Proxy 主从读写 入门使用

Java 主从读写 ShardingSphere

月薪8k和月薪38K的程序员差距在哪里?学习Linux C/C++ 这些你就知道了

ShenDu_Linux

c++ Linux 程序员 Linux服务器开发 C、C++程序员

Spring视图解析流程

无用且垂死的星辰

极客时间架构师培训 1 期 - 第 11 周作业

Kaven

架构师训练营第二周作业

J

极客大学架构师训练营

架构师训练营 -week11-总结

大刘

极客大学架构师训练营

DeFi交易所系统APP开发|DeFi交易所软件开发

系统开发

框架设计作业

cc

架构师训练营第11周课后作业

吴传禹

极客大学架构师训练营

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