【问题标题】:Is it rude to trigger OnNext from different threads in Reactive Extensions (Rx)?从 Reactive Extensions (Rx) 中的不同线程触发 OnNext 是否不礼貌?
【发布时间】:2010-06-22 09:49:32
【问题描述】:

当您自己实现 IObserver 时,您知道如何处理从不同线程同时或按顺序调用 OnNext 的情况,但是在这方面,内置的 Reactive Extension 原语的期望是什么?例如,BufferWithTime 能否应对从多个线程调用的 OnNext?从多个线程并发调用?

【问题讨论】:

    标签: .net multithreading concurrency system.reactive


    【解决方案1】:

    只要你遵循 Rx 使用的合同的两个部分,你应该没问题:

    • 遵循以下语法:OnNext* (OnError | OnCompleted)?
    • 确保您的消息是同步的(没有两条消息同时发送)

    您可以使用 Observable.Synchronize 运算符来修复不遵循这两个规则的 IObservable 实现。

    杰弗里

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-18
      • 1970-01-01
      • 2011-05-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多