2

IObserver を自分で実装する場合、OnNext が異なるスレッドから同時または順次に呼び出される状況にどれだけうまく対処できるかはわかっていますが、これに関して、組み込みの Reactive Extension プリミティブにはどのような期待があるのでしょうか? たとえば、BufferWithTime は、複数のスレッドから呼び出される OnNext に対処できますか? 複数のスレッドから同時に呼び出されますか?

4

1 に答える 1

2

Rx が使用するコントラクトの 2 つの部分に従う限り、問題はありません。

  • 次の文法に従ってください: OnNext* (OnError | OnCompleted)?
  • メッセージが同期されていることを確認してください (2 つのメッセージが同時に送信されないようにしてください)。

Observable.Synchronize オペレーターを使用して、これら 2 つの規則に従わない IObservable の実装を修正できます。

ジェフリー

于 2010-06-23T18:31:53.503 に答える