Reactive Extensions(Rx)是否会取代任务并行库?

时间:2010-11-05 10:53:25

标签: .net parallel-processing system.reactive

在完成samples of Rx.NET后,我对于Reactive Extensions的概念和实现有多么精彩。它似乎为开发人员提供了一种更易于维护的模式,用于实现.NET 4.0的任务并行库提供的相同类型的多线程并行编码。

Rx.NET会取代TPL吗?应该吗?

1 个答案:

答案 0 :(得分:15)

简而言之,没有。

任务并行库(TPL)提供工作分布(并发),以及大型工作(并行性)的并发优化,同时抽象实际机制工作分配(线程)。

C#添加了async关键字,以帮助从语言级别管理异步。 Rx已更新为支持此功能。

Rx使用标准运算符为撰写和管理异步数据流提供了一个框架。虽然Rx使用调度程序有一些交叉,但这只是一种抽象。实际上,推荐的并行调度程序是TaskScheduler,它使用TPL。

另请参阅Jeffrey van Gogh's response与Rx论坛上完全相反的问题。

此外,this question可能有用。