2016-05-22 10 views
2

背圧ドキュメントstatescallstackをブロックすることがRxJavaの悪い習慣とみなされるのはなぜですか?

過産生観測を処理する別の方法は、コールスタック(過産生観測を支配スレッドを駐車)をブロックすることです。これには、Rxの「リアクティブ」モデルとノンブロッキングモデルの違いがあるという欠点があります。

これは悪い習慣とみなされる理由を詳しく説明できますか?参考になりました。

答えて

2

たとえば、computation()スケジューラなどのスレッドをブロックして、他のストリームの進行状況の一部またはすべてを防止する可能性があるためです。第2の問題は、バックプレッシャとブロッキング/アンブロッキングがお互いにうまく行かないということです。これは、subscribeOn().onBackpressureBlock()のチェーンが機能するが、onBackpressureBlock().subscribeOn()がデッドロックされた今削除されたonBackpressureBlockの問題であった。

レガシーブロックIOまたはAPIに対処する必要がある場合を除いて、ほとんどの場合、非ブロッキングにすることがほとんどです。

関連する問題