NET的Reactive Extensions包含一系列扩展方法和为.NET 4及Silverlight 4中新加入的 IObservable<out T> 和 IObserver<in T>接口实现的LINQ标准顺序运算符。加入到.NET中的Observable接口为基于推(push-based)的通知提供了一个公共接口,并能够基于此创建.NET的一些其他功能和类库。Rx致力于事件驱动和异步计算的协调和策划,并且采用新的任务并行库作为它内部的并发机制。

Reactive Extensions可以在任何.NET语言中使用,在F#里面,最有价值的就是.NET事件。它实现了IObservable<out T>接口。除此之外,F#还提供了一些基本的函数来构造observable集合,并且F#开发人员可以使用Rx获取更加丰富的运算符来构造事件和其他observable集合。

老赵在InfoQ写了一个简要的介绍文章 微软发布Reactive框架,简化异步及事件驱动编程,另外在上老赵一个很好的一个视频介绍响应式框架:

Rx:1-Observable

Rx:2-Observable more

Rx:3-System.CoreEx.dll

Rx:4-[编外篇] .NET4里的Concurrent Collections

异步编程与响应式框架

深入学习Windows Phone7(一. Reactive Extension)

Observable Adapter

转载于:https://www.cnblogs.com/shanyou/archive/2010/09/24/1833946.html

Reactive框架:简化异步及事件驱动编程相关推荐

  1. 第十节:利用async和await简化异步编程模式的几种写法

    一. async和await简介 PS:简介 1. async和await这两个关键字是为了简化异步编程模型而诞生的,使的异步编程更简洁,它本身并不创建新线程,但在该方法内部开启多线程,则另算. 2. ...

  2. 深度解读 | ElasticDL 深度学习框架简化编程,提升集群利用率和研发效率的秘诀...

    文 / 蚂蚁集团, ElasticDL 主力工程师 齐俊 ElasticDL 是一个基于 TensorFlow 2.x 和 Kubernetes 的开源的分布式深度学习编程框架.2019 年秋天的 G ...

  3. Netty实战一之异步和事件驱动

    Netty是一款异步的事件驱动的网络应用程序框架,支持快速地开发可维护的高性能的面向协议的服务器和客户端. 使用Netty你可以并不是很需要网络编程.多线程处理.并发等专业Java知识的积蓄. Net ...

  4. 【C/C++服务器开发】事件驱动、事件驱动架构、事件驱动编程及设计模式

    文章目录 一.事件驱动 二.事件驱动编程 事件驱动和异步IO 看图说话讲事件驱动模型 三.C/C++实现事件驱动 四.常用的C/C++事件驱动库 一.事件驱动 首先我们来看看百度百科的介绍. 所谓事件 ...

  5. python事件驱动编程_Python事件驱动编程

    事件驱动的编程侧重于事件.最终,程序的流程取决于事件.到目前为止,我们处理顺序或并行执行模型,但具有事件驱动编程概念的模型称为异步模型.事件驱动的编程取决于始终侦听新传入事件的事件循环.事件驱动编程的 ...

  6. java 异步事件_Java编程入门——异步事件:轮询与中断

    CPU几乎把所有的时间都花费在从内存获取指令并运行它们的过程中.然而,CPU和主存仅仅只是计算机硬件系统中众多组件的其中两个.一个完整的系统还包含其他的设备,比如: 硬盘或者固态硬盘,用来存储程序和数 ...

  7. Java异步非阻塞编程的几种方式

    简介: Java异步非阻塞编程的几种方式 一. 从一个同步的Http调用说起 一个很简单的业务逻辑,其他后端服务提供了一个接口,我们需要通过接口调用,获取到响应的数据. 逆地理接口:通过经纬度获取这个 ...

  8. 用事件驱动编程解救臃肿的代码

    图片:塞尔达传说旷野之息海拉鲁大陆 在这篇文章中我们将了解到什么是"事件驱动编程"以及在Laravel中如何开始构建一个事件驱动应用,同时我们还将看到如何通过事件驱动编程来对应用程 ...

  9. Laravel最佳实践--事件驱动编程

    在这篇文章中我们将了解到什么是"事件驱动编程"以及在Laravel中如何开始构建一个事件驱动应用,同时我们还将看到如何通过事件驱动编程来对应用程序的逻辑进行解耦. 在开始之前,先说 ...

最新文章

  1. LeetCode刷题-2
  2. python sys模块讲解_python模块之sys模块和序列化模块(实例讲解)
  3. weka不能使用Apriori/FPGrowth
  4. QT的QListIterator类的使用
  5. Eclipse python 开发环境配置
  6. 文件批量传输组件作为架包使用说明
  7. webgis从基础到开发实践_webgis@基础GIS 开源资源汇总
  8. unity2018设置雾在哪_《Babel》项目技术整理:雾
  9. java 静态方法 变量_Java变量的初始化及静态方法的实现
  10. 关于ArrayList和Vector区别
  11. Exchange2003不能自动删除日志
  12. 根据学生名单(excel文件)对QQ群成员进行统计(助教可能会需要)
  13. 多功能雨伞项目计划书_多功能的雨伞创业项目计划书
  14. springboot社区再生资源上门回收平台毕业设计-附源码072049
  15. 深入浅出、通俗易懂的讲解CAN bus
  16. 自底向上和自顶向下的架构设计区别
  17. 对联广告php代码,JS实现很实用的对联广告代码(可自适应高度)
  18. mac怎么禁止某个应用联网?
  19. 2021中国华录杯·算法大赛直通车!
  20. 用C语言实现布丰投针计算圆周率问题

热门文章

  1. bzoj 5340: [Ctsc2018]假面
  2. 关于idea打开项目没有目录
  3. url的三个js编码函数escape(),encodeURI(),encodeURIComponent()简介
  4. 【转载】linux2.6内核initrd机制解析
  5. 模拟 Codeforces Round #249 (Div. 2) C. Cardiogram
  6. SQL 2005新增的几个函数之学习
  7. 关于《如何阅读一本书》
  8. 公众号自定义图文消息推送(2)
  9. android 实现悬架控制
  10. zabbix之使用proxy实现分布式监控