Rx java 将subscribeOn()与主题一起使用

Rx java 将subscribeOn()与主题一起使用,rx-java,reactivex,Rx Java,Reactivex,我想知道对一个主题调用subscribeOn()会产生什么后果 我知道(默认情况下)这不会改变发出的线程项,我只是好奇它是否会导致其他一些负面的副作用 一般来说,从不同线程调用subscribe()来观察同一个对象是否不安全?如果是,subscribeOn()是否以某种方式使其安全?在同一主题上从不同线程调用subscribe()是安全的(请注意,从不同线程调用Subject.doOnXXX需要同步,如果需要,请询问说明)。将其推广到所有可观察对象是不可能的,因为构造一个线程不安全的对象(比如可

我想知道对一个主题调用subscribeOn()会产生什么后果

我知道(默认情况下)这不会改变发出的线程项,我只是好奇它是否会导致其他一些负面的副作用

一般来说,从不同线程调用subscribe()来观察同一个对象是否不安全?如果是,subscribeOn()是否以某种方式使其安全?

在同一
主题上从不同线程调用
subscribe()
是安全的(请注意,从不同线程调用
Subject.doOnXXX
需要同步,如果需要,请询问说明)。将其推广到所有可观察对象是不可能的,因为构造一个线程不安全的对象(比如可见性问题)非常容易。您的观点是正确的,您可以通过使用

.subscribeOn(Schedulers.from(Executors.newSingleThreadExecutor()))
使用具有多个线程的调度程序不会在线程安全方面保护您