2010-10-31 90 views
38

我想知道新的C#5.0異步功能對於Rx - 反應式擴展意味着什麼?它似乎不是替代品,但它們似乎重疊 - TaskIObservableC#5.0異步/等待功能和Rx - 反應式擴展

編輯:Task vs IObservable: when to use what?

+11

「異步/等待」不是Rx的替代品,LINQ是SQL的替代品。您可以使用LINQ與SQL後端對話;您可以使用基於任務的與Rx異步來編排由事件流觸發的工作。這些技術應該相互促進,而不是競爭。 – 2010-10-31 15:02:55

回答

18

檢查也:TPL Dataflow Overview關於TDF和Rx:

細心的讀者可能會注意到TPL數據流和無功擴展器(Rx),目前可從DevLabs原型網站下載之間有一些相似之處。 Rx主要側重於使用基於LINQ的API來協調和組合事件流,提供了一套豐富的組合器來處理IOb的數據保護。相比之下,TPL Dataflow專注於爲消息傳遞提供構建塊,並以高吞吐量和低延遲並行處理CPU和I/O密集型應用程序,同時還爲開發人員提供了對數據如何緩衝和移動的明確控制。因此,Rx和TPL Dataflow雖然可能在30,000英尺級別上被視爲相似,但能滿足不同的需求。即便如此,TPL Dataflow和Rx提供了一個更好的聯合故事。

13

傑夫在Rx forum是R x仍然會被用來協調多個事件驅動任務寫道,RX具有發佈一個新版本,其中包括IAsyncEnumerable使用中的Rx新的異步功能。

+1

+1此外,Bart De Smet在他的PDC演講「LINQ,Take Two」中談論了一些關於異步和Rx(提及IAsyncEnumerable)的內容http://player.microsoftpdc.com/ – 2010-11-01 17:18:56