。Net Reactive Extensions框架是否以拓扑顺序传播通知以最大程度地减少更新量?
[像Scala Rx一样:Does .Net Reactive Extensions (Rx) ta
。NET Rx在实现FRP时使用多种语义。关键是可观察性和订户上下文,尤其是订户使用的调度程序。
TL; DR-调用通知时,.NET RX不使用拓扑顺序。
长答案:子订阅是按订阅顺序调用的。对于并发调度程序,您可以使用ObserveOn / SubscribeOn方法(更详细的explanation)来实现并行调用。
编辑
(感谢@DaveSexton):请注意,ObserveOn和SubscribeOn均无法实现“并行”通知(除非您要同时比较两个查询的细分运营商双方)。请注意,ObserveOn和SubscribeOn都不实现“并行”通知(除非您要比较运算符两边的查询)。Rx has a strict contract(§4.2)防止在通知中重叠(并发)通知单一订阅,对于热门可观察到的项目,此合同通常同样适用于所有订阅。
[Storm.Net(简单的拓扑排序的反应模型),他试图提供一种按拓扑顺序传播更新的数据模型。