在同一个线程中运行多个流

时间:2016-09-16 19:50:06

标签: rx-java

是否可以在调用者线程以外的同一个线程中订阅两个不同的流?

假设我有两个不同的观察者和两个不同的订阅者。我在两个可观察者身上都叫subscribeOn(Schedulers.newThread())。但我希望他们订阅相同的线程,而不是两个不同的线程。

2 个答案:

答案 0 :(得分:3)

是的,你可以:

Scheduler scheduler = 
    Schedulers.from(Executors.newSingleThreadExecutor());

然后将.subscribeOn(scheduler)应用于两个可观察对象。一个流可以阻止另一个流,但这当然取决于您的可观察量和用户请求模式。

答案 1 :(得分:1)

简而言之,没有。有一些你可以尝试的黑客攻击,但它们会有问题。最好使用多个线程。