2017-09-17 9 views
0

私は、observeableがmainスレッドまたはsubscribeOn(潜在的にobserveOn)で指定されたバックグラウンドスレッドで処理できるasyncの種類を知っています。このケースははっきりしています。Rx Java 2 Sync vs. Async

シンクロナイズと非同期の演算子の違いはどこですか?非同期演算子は、上流からアイテムの順序を変更できますか?

どのオペレータが非同期ですか?マージとフラットマップのみ?

チェーン内のすべての演算子が同期している場合、次のアイテムを処理するには、チェーン全体を使用して処理する必要がありますか?マップとフィルターを含むチェーン。

答えて

0

複数のソースを処理しなければならない、またはスケジューラをとる演算子は、非同期境界と見なされます。

複数のソース演算子が複数のスレッドからの信号に遭遇することがあります。これらの信号の合計順序があったとしても、merge()のような演算子は同じ順序でそれらを出力しないかもしれません。一般に、ソースからの信号は、他のソースからの信号とインターリーブされる可能性がある。

同期チェインはonNextコールのチェーンに深く入ります。バッファリングが起こっていない限り、次の要素のトップソースに戻る必要があります。

関連する問題