Mikhail Poda
Mikhail Poda

Reputation: 5832

C# 5.0 async/await feature and Rx - Reactive Extensions

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.

Upvotes: 40

Views: 8982

Answers (2)

Nick Martyshchenko
Nick Martyshchenko

Reputation: 4249

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.

Upvotes: 18

Albin Sunnanbo
Albin Sunnanbo

Reputation: 47038

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.

Upvotes: 13

Related Questions