《C#并发编程经典实例》—— Rx基础

声明:本文是《C#并发编程经典实例》的样章,感谢图灵授权并发编程网站发布样章,禁止以任何形式转载此文。

LINQ 是 对 序 列 数 据 进 行 查 询 的 一 系 列 语 言 功 能。 内 置 的 LINQ to Objects( 基 于 IEnumerable<T>) 和 LINQ to Entities( 基 于 IQueryable<T>) 是 两 个 最 常 用 的 LINQ 提 供 者。另外还有很多提供者,并且大多数都采用相同的基本架构。查询是延后执行(lazily evaluated)的,只有在需要时才会从序列中获取数据。从概念上讲,这是一种拉取模式。 在查询过程中数据项是被逐个拉取出来的。

Reactive Extensions(Rx)把事件看作是依次到达的数据序列。因此,将 Rx 认作是 LINQ to events( 基 于 IObservable<T>) 也 是 可 以 的, 它 与 其 他 LINQ 提 供 者 的 主 要 区 别 在 于, Rx 采用“推送”模式。就是说,Rx 的查询规定了在事件到达时程序该如何响应。Rx 在 LINQ 的基础上构建,增加了一些功能强大的操作符,作为扩展方法。

本章介绍一些更常用的 Rx 操作。需要注意的是,所有的 LINQ 操作都可以在 Rx 中使用。 从概念上看,过滤(Where)、投影(Select)等简单操作,和其他 LINQ 提供者的操作是 一样的。本章不介绍那些常见的 LINQ 操作,而将重点放在 Rx 在 LINQ 基础上增加的新 功能,尤其是与时间有关的功能。

要使用 Rx,需要在应用中安装一个 NuGet 包 Rx-Main。支持 Reactive Extensions 的平台非 常丰富。

  1. 转换 .NET 事件
  2. 发通知给上下文
  3. 用窗口和缓冲对事件分组
  4. 用限流和抽样抑制事件流
  5. 超时

原创文章,转载请注明: 转载自并发编程网 – ifeve.com本文链接地址: 《C#并发编程经典实例》—— Rx基础

  • Trackback 关闭
  • 评论 (1)
    • manongxiaowen
    • 2021/08/17 4:37下午

    观看博主的文章收益匪浅,博主有空的话可以使用一下最近很火爆的一款接口测试接口文档生成工具apipost,免费下载免费使用,谢谢博主。

return top