2

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

4

1 回答 1

2

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

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

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

杰弗里

于 2010-06-23T18:31:53.503 回答