3

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

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

是否与“Actor Model”“Functional Reactive Programming”概念有关?

有人可以请教我吗?

4

1 回答 1

1

我认为它“简单”的主要原因是因为 MS 背后非常聪明的开发团队为 Rx 库倾注了鲜血、汗水和泪水。

查看(开放)源代码,看看代码在执行 Rx 语法和使用调度程序运行的时间和地点的参数化方面有多么谨慎。里面有很多防御性的并发代码。我建议是语法和调度程序带来了简单性。

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

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

于 2013-06-11T09:57:51.560 回答