I am wondering what do the new C# 5.0 asynchronous features mean for Rx - Reactive Extensions? It seems to be not a replacement but they seem to overlap - Task
and IObservable
.

- 862
- 2
- 7
- 17

- 5,742
- 3
- 39
- 52
-
11"Async/await" is not a replacement for Rx any more than LINQ was a replacement for SQL. You can use LINQ to talk to a SQL back end; you can use task-based asynchrony with Rx to orchestrate work triggered by streams of events. These technologies should enhance each other, not compete. – Eric Lippert Oct 31 '10 at 15:02
2 Answers
Check also: TPL Dataflow Overview about TDF and Rx:
Astute readers may notice some similarities between TPL Dataflow and Reactive Extensions (Rx), currently available as a download from the DevLabs prototypes site. Rx is predominantly focused on coordination and composition of event streams with a LINQ-based API, providing a rich set of combinators for manipulating IObservables of data. In contrast, TPL Dataflow is focused on providing building blocks for message passing and parallelizing CPU- and I/O-intensive applications with high-throughput and low-latency, while also providing developers explicit control over how data is buffered and moves about the system. As such, Rx and TPL Dataflow, while potentially viewed as similar at a 30,000 foot level, address distinct needs. Even so, TPL Dataflow and Rx provide a better together story.

- 4,231
- 2
- 20
- 24
Jeff writes on the Rx forum that Rx will still be used to orchestrate multiple event driven tasks, Rx has release a new version that includes IAsyncEnumerable
to use the new async features in Rx.

- 46,430
- 8
- 69
- 108
-
1+1 Also, Bart De Smet talked a little bit about async and Rx (mentioning IAsyncEnumerable) in his PDC talk "LINQ, Take Two" http://player.microsoftpdc.com/ – Gabe Moothart Nov 01 '10 at 17:18