【问题标题】:C# 5.0 async/await feature and Rx - Reactive ExtensionsC# 5.0 async/await 特性和 Rx - Reactive Extensions
【发布时间】:2011-05-03 01:51:48
【问题描述】:

我想知道新的 C# 5.0 异步特性对 Rx - Reactive Extensions 意味着什么?它似乎不是替代品,但它们似乎重叠 - TaskIObservable

【问题讨论】:

  • "Async/await" 不能替代 Rx,正如 LINQ 不能替代 SQL。您可以使用 LINQ 与 SQL 后端对话;您可以使用基于任务的异步与 Rx 来编排由事件流触发的工作。这些技术应该相互增强,而不是相互竞争。

标签: c# asynchronous system.reactive c#-5.0 async-await


【解决方案1】:

检查:TPL Dataflow Overview 关于 TDF 和 Rx:

精明的读者可能会注意到 TPL 数据流和反应式扩展 (Rx) 之间的一些相似之处,目前可从 DevLabs 原型网站下载。 Rx 主要专注于使用基于 LINQ 的 API 协调和组合事件流,提供一组丰富的组合器来操作 IObservable 数据。相比之下,TPL Dataflow 专注于为消息传递和并行化 CPU 和 I/O 密集型应用程序提供高吞吐量和低延迟的构建块,同时还为开发人员提供对数据如何缓冲和在系统中移动的明确控制.因此,Rx 和 TPL 数据流虽然在 30,000 英尺高度可能被视为相似,但可以满足不同的需求。即便如此,TPL Dataflow 和 Rx 提供了一个更好的故事。

【讨论】:

    【解决方案2】:

    Jeff 在Rx forum 上写道,Rx 仍将用于编排多个事件驱动的任务,Rx 已发布包含IAsyncEnumerable 的新版本,以使用 Rx 中的新异步功能。

    【讨论】:

    • +1 此外,Bart De Smet 在他的 PDC 演讲“LINQ,Take Two”player.microsoftpdc.com 中谈到了异步和 Rx(提到 IAsyncEnumerable)
    猜你喜欢
    • 2011-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-27
    • 1970-01-01
    • 2012-03-18
    • 1970-01-01
    • 2023-03-10
    相关资源
    最近更新 更多