为什么用Rx处理并发这么容易?

时间:2013-06-11 08:32:25

标签: c# .net system.reactive reactive-programming

几个月前,我们将Rx引入我们的代码库,从那时起,代码库变得越来越“反应”。我觉得用Rx将并发引入代码库真的很容易,因为还没有使用过一行“锁定”。

但是,当我无法用文字解释时,我不明白为什么Rx很容易。

它与"Actor Model""Functional Reactive Programming"概念有关吗?

请有人亲切地赐教我吗?

1 个答案:

答案 0 :(得分:1)

我认为它“轻松”的主要原因是由于MS背后非常聪明的开发团队将血液,汗水和泪水倒入Rx库中。

查看(开放)源代码,了解执行Rx语法以及使用调度程序运行的时间和地点的参数化时需要多少谨慎的代码。这里有很多防御并发代码。我建议这是简单的语法和调度程序。

使用该模型非常简单,但实现这种简单并非易事。你站在巨人的肩膀上,从隐藏着干净整洁的API背后的复杂性中受益:)

顺便说一句,你仍然有一个奇怪的陷阱......我相信你迟早会找到一个!一个示例是出于性能原因,受保护的对象< T> .OnNext()不受Rx 2.x中的并发访问的保护。