C#5.0异步/等待功能和Rx-反应式扩展
我想知道新的C#5.0异步特性对于Rx反应式扩展意味着什么?它似乎不是替代品,但它们似乎重叠-C#5.0异步/等待功能和Rx-反应式扩展,c#,asynchronous,system.reactive,c#-5.0,async-await,C#,Asynchronous,System.reactive,C# 5.0,Async Await,我想知道新的C#5.0异步特性对于Rx反应式扩展意味着什么?它似乎不是替代品,但它们似乎重叠-任务和IObservableJeff在上写道,Rx仍将用于协调多个事件驱动的任务,Rx发布了一个新版本,其中包括使用Rx中新异步功能的IAsyncEnumerable。另请检查:关于TDF和Rx: 精明的读者可能会注意到TPL数据流和反应式扩展(Rx)之间的一些相似之处,目前可从DevLabs原型网站下载。Rx主要关注事件流与基于LINQ的API的协调和组合,为操作数据的IObservable提供了一组
任务
和IObservable
Jeff在上写道,Rx仍将用于协调多个事件驱动的任务,Rx发布了一个新版本,其中包括使用Rx中新异步功能的IAsyncEnumerable
。另请检查:关于TDF和Rx:
精明的读者可能会注意到TPL数据流和反应式扩展(Rx)之间的一些相似之处,目前可从DevLabs原型网站下载。Rx主要关注事件流与基于LINQ的API的协调和组合,为操作数据的IObservable提供了一组丰富的组合器。相反,TPL Dataflow专注于为消息传递和并行化CPU和I/O密集型应用程序提供构建块,具有高吞吐量和低延迟,同时还为开发人员提供对数据缓冲方式和系统移动方式的明确控制。因此,Rx和TPL数据流虽然可能在30000英尺的高度被视为相似,但满足了不同的需求。即便如此,TPL数据流和Rx提供了一个更好的共同故事
“Async/await”不是Rx的替代品,正如LINQ不是SQL的替代品一样。您可以使用LINQ与SQL后端对话;您可以将基于任务的异步与Rx结合使用,以协调由事件流触发的工作。这些技术应该相互增强,而不是相互竞争。+1此外,Bart De Smet在他的PDC演讲“LINQ,Take Two”中也谈到了async和Rx(提到了IAsyncEnumerable)