是否有可能在同一个线程中订阅两个不同的流而不是调用者线程?
假设我有两个不同的可观测对象和两个不同的订阅者。在两个可观测点上都叫subscribeOn(Schedulers.newThread())
。但是我希望它们在同一个线程上订阅,而不是两个不同的线程。
可以:
Scheduler scheduler =
Schedulers.from(Executors.newSingleThreadExecutor());
然后对两个观测值应用.subscribeOn(scheduler)
。一个流可以阻塞另一个流,但这当然取决于你的可观察对象和订阅者请求模式。
简而言之,没有。你可以尝试一些技巧,但它们可能会有问题。最好使用多个线程