写点什么

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

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

关注

评论

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

FabFilter Total Bundle 2025 for Mac(音频插件合集)v2025.02.06直装版

Rose

数字身份新范式,IAM推动数字经济高质量发展

芯盾时代

数字身份 iam 统一身份管理平台

DeepSeek部署实战:模型对比、部署优化与应用场景解析

中烟创新

JetBrains 2024编程系列全家桶中文版 附激活补丁-Mac/win

Rose

Cinema 4D (c4d)中文版+激活补丁合集-Mac/win

Rose

基于Flink的配置化实时反作弊系统

百度Geek说

flink 实战 特征工程 #大数据

一行命令让本地大模型学会 DeepSeek 的深度思考!

智领云科技

深度思考 本地部署 DeepSeek DeepResearch

AI智能体的开发

北京木奇移动技术有限公司

AI智能体 软件外包公司 AI英语学习

培训班招生营销平台(源码+文档+讲解+演示)

深圳亥时科技

住宿业需要采购堡垒机吗?哪些情形需要?

行云管家

网络安全 等保 堡垒机 等保测评

鸿蒙APP开发的主要技术难点

北京木奇移动技术有限公司

鸿蒙app 软件外包公司 APP外包公司

UltraEdit for Mac(高级文本编辑器)v23.0.0.22 英文版

Rose

智慧政协系统(源码+文档+讲解+演示)

深圳亥时科技

AI招聘的核心功能

北京木奇移动技术有限公司

AI智能体 AI招聘 软件外包公司

【FAQ】HarmonyOS SDK 闭源开放能力 —Map Kit(5)

HarmonyOS SDK

harmoyos

如何修复破损的LED显示屏

Dylan

模块 LED LED display LED显示屏 led显示屏厂家

别再混淆了!JVM内存模型和Java内存模型的本质区别

王磊

INFINI Labs 推出 Coco AI,携手 DeepSeek 打造下一代企业知识管理神器!

极限实验室

console Gateway easysearch CocoAI

PatterNodes 3 for Mac(矢量图形模式创建软件)v3.3.3直装版

Rose

AI智能体的发展前景

北京木奇移动技术有限公司

AI智能体 软件外包公司 AI英语学习

知识图谱在医疗行业中的应用和落地,知识图谱技术在行业中的技术方案

金陵老街

知识图谱

面向研发人群使用,数百种功能控件+大量实用模板

秃头小帅oi

Multitouch for Mac(多点触控手势增强神器)v1.27.44免激活版

Rose

VideoProc Converter 4K for mac(一站式视频处理软件)v6.6中文免激活版

Rose

Adobe 2025系列合集(中文资源+激活补丁)Mac/win

Rose

Downie 4 for Mac(视频下载工具)v4.9.6最新中文版

Rose

AI智能体的应用场景

北京木奇移动技术有限公司

AI智能体 软件外包公司 AI英语学习

Hologres × PAI × DeepSeek 搭建 RAG 检索增强对话系统

阿里云大数据AI技术

人工智能 hologres rag PAI DeepSeek

为什么很多程序员讨厌低代码?

秃头小帅oi

智能制造精益生产:SMED快速换模详解

积木链小链

数字化转型 智能制造 快速换模

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