C# 5.0的async/await特性和Rx - 响应式扩展

40

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


11
"异步/等待"并不能替代Rx,就像LINQ不能替代SQL一样。 你可以使用LINQ来访问SQL后端;你可以使用基于任务的异步性与Rx一起编排由事件流触发的工作。这些技术应该相互增强,而不是竞争。 - Eric Lippert
2个回答

18

同时也要查看:TPL Dataflow 概述关于 TDF 和 Rx:

敏锐的读者可能会注意到 TPL Dataflow 和 Reactive Extensions (Rx) 之间存在一些相似性。Rx 主要关注基于 LINQ 的 API,提供了丰富的组合器以协调和组合事件流中的数据。相比之下,TPL Dataflow 主要致力于提供消息传递和并行化 CPU 和 I/O 密集型应用程序的构建模块,具有高吞吐量和低延迟,并为开发人员提供了显式地控制数据如何在系统中移动和缓冲的功能。因此,虽然从总体上来看,Rx 和 TPL Dataflow 可能被视为相似的,但它们解决的需求是不同的。即便如此,TPL Dataflow 和 Rx 也提供了更好的配合使用的方式。


13

Jeff在Rx论坛上写道,Rx仍然用于编排多个事件驱动任务,Rx发布了一个包括IAsyncEnumerable以使用Rx中的新异步功能的新版本。


1
此外,Bart De Smet 在他的 PDC 演讲 "LINQ, Take Two" 中谈到了异步和 Rx(提到了 IAsyncEnumerable)。http://player.microsoftpdc.com/ - Gabe Moothart

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接