在完成samples of Rx.NET后,我对于Reactive Extensions的概念和实现有多么精彩。它似乎为开发人员提供了一种更易于维护的模式,用于实现.NET 4.0的任务并行库提供的相同类型的多线程并行编码。
Rx.NET会取代TPL吗?应该吗?
答案 0 :(得分:15)
简而言之,没有。
任务并行库(TPL)提供工作分布(并发),以及大型工作(并行性)的并发优化,同时抽象实际机制工作分配(线程)。
C#添加了async
关键字,以帮助从语言级别管理异步。 Rx已更新为支持此功能。
Rx使用标准运算符为撰写和管理异步数据流提供了一个框架。虽然Rx使用调度程序有一些交叉,但这只是一种抽象。实际上,推荐的并行调度程序是TaskScheduler
,它使用TPL。
另请参阅Jeffrey van Gogh's response与Rx论坛上完全相反的问题。
此外,this question可能有用。