2010-10-31 8 views
38

Ich frage mich, was bedeuten die neuen C# 5.0 asynchronen Funktionen für Rx - Reaktive Erweiterungen? Es scheint kein Ersatz zu sein, aber sie scheinen sich zu überlappen - Task und IObservable.C# 5.0 async/erwarten Funktion und Rx - Reaktive Erweiterungen

EDIT: Task vs IObservable: when to use what?

+11

"Async/erwarten" ist kein Ersatz für Rx mehr als LINQ war ein Ersatz für SQL. Sie können LINQ verwenden, um mit einem SQL-Back-End zu kommunizieren. Sie können aufgabenbasierte Asynchronität mit Rx verwenden, um die Arbeit zu organisieren, die durch Ereignisströme ausgelöst wird. Diese Technologien sollten einander ergänzen, nicht konkurrieren. –

Antwort

18

auch zu prüfen: TPL Dataflow Overview über TDF und Rx:

Astute Leser können einige Ähnlichkeiten zwischen TPL Datenfluss und Reactive Extensions (Rx) feststellen, die derzeit als Download von der Website DevLabs Prototypen. Rx konzentriert sich hauptsächlich auf die Koordination und Zusammensetzung von Event-Streams mit einer LINQ-basierten API, die eine Vielzahl von Kombinatoren zur Manipulation von IO-Servern von Daten bietet. Im Gegensatz dazu konzentriert sich TPL Dataflow auf die Bereitstellung von Bausteinen für das Message Passing und die Parallelisierung von CPU- und E/A-intensiven Anwendungen mit hohem Durchsatz und niedriger Latenz. Gleichzeitig bietet es Entwicklern explizite Kontrolle darüber, wie Daten gepuffert und um das System verschoben werden . Daher adressieren Rx und TPL Dataflow, obwohl sie möglicherweise auf einer Höhe von 30.000 Fuß als ähnlich angesehen werden, unterschiedliche Bedürfnisse. Dennoch bieten TPL Dataflow und Rx eine bessere gemeinsame Geschichte.

13

Jeff auf der Rx forum schreibt, dass Rx noch mehrere ereignisgesteuerte Aufgaben orchestrieren verwendet werden, hat Rx eine neue Version freigeben, die IAsyncEnumerable die neuen Asynchron-Funktionen in Rx verwenden enthält.

+1

+1 Auch Bart De Smet sprach ein wenig über Async und Rx (erwähnt IAsyncEnumerable) in seinem PDC-Vortrag "LINQ, Take Two" http://player.microsoftpdc.com/ –

Verwandte Themen