背圧ドキュメントstatescallstackをブロックすることがRxJavaの悪い習慣とみなされるのはなぜですか?
過産生観測を処理する別の方法は、コールスタック(過産生観測を支配スレッドを駐車)をブロックすることです。これには、Rxの「リアクティブ」モデルとノンブロッキングモデルの違いがあるという欠点があります。
これは悪い習慣とみなされる理由を詳しく説明できますか?参考になりました。
背圧ドキュメントstatescallstackをブロックすることがRxJavaの悪い習慣とみなされるのはなぜですか?
過産生観測を処理する別の方法は、コールスタック(過産生観測を支配スレッドを駐車)をブロックすることです。これには、Rxの「リアクティブ」モデルとノンブロッキングモデルの違いがあるという欠点があります。
これは悪い習慣とみなされる理由を詳しく説明できますか?参考になりました。
たとえば、computation()
スケジューラなどのスレッドをブロックして、他のストリームの進行状況の一部またはすべてを防止する可能性があるためです。第2の問題は、バックプレッシャとブロッキング/アンブロッキングがお互いにうまく行かないということです。これは、subscribeOn().onBackpressureBlock()
のチェーンが機能するが、onBackpressureBlock().subscribeOn()
がデッドロックされた今削除されたonBackpressureBlock
の問題であった。
レガシーブロックIOまたはAPIに対処する必要がある場合を除いて、ほとんどの場合、非ブロッキングにすることがほとんどです。