2025 AI基础设施风向标,不看必后悔!#AI基础设施峰会 了解详情
写点什么

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

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

关注

评论

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

发几张国庆的照片

亨利笔记

容器 k8s Harbor 镜像

如何高质量学习与正确运用设计模式

木香丘

学习 设计模式 实战

Redis-技术专题- 热点Key如何解决

码界西柚

极客时间架构 1 期:第 3 周代码重构 - 命题作业

Null

架构师训练营第三周作业(9.28-10.4)

zjzj2017

单例模式

魏小龙

2N方定点算法

武夷梅占

php 数据库 分布式 算法 后端

深入剖析go中字符串的编码问题——特殊字符的string怎么转byte?

Gopher指北

后端 string utf-8 Go 语言

Hazelcast IMDG 带你瞬间进入内存计算的时代

张磊

分布式计算 内存管理 分布式缓存 分布式内存网格

Python 为什么不支持 switch 语句?

Python猫

Python 编程

架构师1期-代码重构作业

ltl3884

极客大学架构师训练营

架构师训练营第三周学习总结

Gosling

极客大学架构师训练营

Malagu 框架介绍

木香丘

云计算 开源 Serverless 架构 框架

架构师训练营第三小结(9.28-10.4)

zjzj2017

LeetCode题解:226. 翻转二叉树,递归,JavaScript,详细注释

Lee Chen

大前端 LeetCode

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

Gosling

极客大学架构师训练营

实用威胁建模指南(一)

亚伦碎语

敏捷 安全设计 系统安全 #威胁建模

架构师训练营第四周学习总结

尹斌

架构师训练营第四周作业

尹斌

Redis-技术专题-基础介绍

码界西柚

有这些要素,架构才完整

北风

架构 架构师之道 架构方法

入行架构师之前,这7项技能你要先了解一下

Java架构师迁哥

架构师训练营第 1 期第 4 周学习总结

好吃不贵

爆赞!这份《Java核心宝典》绝对是面试复习的最佳选择

Java架构之路

Java 程序员 面试 编程语言

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

好吃不贵

极客大学架构师训练营

极客时间架构 1 期:第 3 周代码重构 - 学习总结

Null

Serverless 多云解决方案 Malagu

木香丘

云计算 Serverless 架构 云原生 Malagu

缓存服务-技术专题-解决方案

码界西柚

第四周作业

极客大学架构师训练营

spring-boot-route(九)整合JPA操作数据库

Java旅途

Java Spring Boot jpa

3. CocoaPods 命令解析 - CLAide

Edmond

ruby ios objective-c CocoaPods PackageManager

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