C# 5.0 функция async/await и RX-реактивные расширения

мне интересно, что означают новые асинхронные функции C# 5.0 для RX-реактивных расширений? Кажется, это не замена, но они, кажется, перекрываются -Task и IObservable.

EDIT:задача против IObservable: когда использовать что?

2 ответов


Смотрите также: обзор потока данных TPL о TDF и Rx:

проницательные читатели могут заметить некоторое сходство между потоком данных TPL и реактивными расширениями (Rx), в настоящее время доступными для загрузки с сайта прототипов DevLabs. Rx преимущественно ориентирован на координацию и композицию потоков событий с API на основе LINQ, обеспечивая богатый набор комбинаторов для управления IObservables данных. Напротив, поток данных TPL сосредоточен на предоставлении строительные блоки для передачи сообщений и распараллеливания CPU-и I/O-интенсивных приложений с высокой пропускной способностью и низкой задержкой, а также предоставляя разработчикам явный контроль над тем, как данные буферизуются и перемещаются по системе. Таким образом, поток данных Rx и TPL, потенциально рассматриваемый как аналогичный на уровне 30 000 футов, удовлетворяет различные потребности. Тем не менее, поток данных TPL и Rx обеспечивают лучшую историю вместе.


Джефф пишет о Rx форум что Rx по-прежнему будет использоваться для оркестровки нескольких задач, управляемых событиями, Rx выпустила новую версию, которая включает IAsyncEnumerable использовать новые асинхронные функции в Rx.