我正在考虑将Rx引入我的工作场所,但我越了解它越多,我认为它并没有真正给你带来好处。应该在哪里使用Rx?
我们有很多服务器应用程序,它们在一端输入数据并在另一端输出它。对于actor模型和“无限”线程可伸缩性来说,这是非常完美的,直到现在我已经使用ConcurrentQueues来实现消息传递,并且我认为Rx可能是一个更好的功能替代方案,它可以使并发性更加隐含,帮助我移动一些从命令式代码到可观察式声明的数据流决策。
但阅读它并尝试它与使用常规的旧线程与ConcurrentQueues消息传递没有多大优势。 Rx给我什么好处?总是说尽管.NET 4.5使很多Rx过时(尽管是异步和数据流),但它仍然适用于处理事件流。什么情况下呈现事件流,我如何识别它们?
您可能会发现Netflix的使用的Rx woth的看着,它似乎对他们工作很好https://blogs.msdn.com/b/interoperability/archive/2013/02/05/netflix-solving-big-problems-with-reactive-extensions-rx.aspx – Wilka 2013-04-10 09:37:17
作为一个(非常粗略的)经验法则,如果您正在处理单个值,请使用TPL/Task api;如果您正在处理“事件”序列(通用“某事”,而不仅仅是.net事件),请使用rx。数据流我不太熟悉,我不得不考虑这一点。 – JerKimball 2013-04-10 13:43:52