Rx java 为什么在RxJava中阻塞调用堆栈被认为是不好的做法?

Rx java 为什么在RxJava中阻塞调用堆栈被认为是不好的做法?,rx-java,Rx Java,背压文档 另一种处理生产过剩可观测数据的方法是阻塞调用堆栈(停止控制生产过剩可观测数据的线程)。这样做的缺点是不利于Rx的“无功”和无阻塞模型 有人能详细说明为什么这被认为是不好的做法吗?非常感谢您的参考。因为您可能会阻塞一个线程,例如计算()调度程序,从而阻止其他流的部分或全部进程。第二个问题是背压和阻塞/解除阻塞之间的关系不好。这是现在移除的onBackpressureBlock的一个问题,其中带有subscribeOn().onBackpressureBlock()的链工作,但onBack

背压文档

另一种处理生产过剩可观测数据的方法是阻塞调用堆栈(停止控制生产过剩可观测数据的线程)。这样做的缺点是不利于Rx的“无功”和无阻塞模型


有人能详细说明为什么这被认为是不好的做法吗?非常感谢您的参考。

因为您可能会阻塞一个线程,例如
计算()
调度程序,从而阻止其他流的部分或全部进程。第二个问题是背压和阻塞/解除阻塞之间的关系不好。这是现在移除的
onBackpressureBlock
的一个问题,其中带有
subscribeOn().onBackpressureBlock()
的链工作,但
onBackpressureBlock().subscribeOn()死锁

除非您必须处理遗留的阻塞IO或API,否则几乎总有一种方法可以无阻塞地执行操作