RxJava:如何使observable在主线程之外的不同线程上创建

时间:2017-10-17 13:43:34

标签: java android rx-java rx-android rx-java2

我希望可观察代码在不同于主线程的线程上运行。我怎么能这样做,我这样做:

Observable operationObservable = Observable.create(new ObservableOnSubscribe() {
        @Override
        public void subscribe(ObservableEmitter e) throws Exception {
            e.onNext(longRunningOperation());
            e.onComplete();
        }
    })
    .subscribeOn(Schedulers.io()) // subscribeOn the I/O thread
    .observeOn(AndroidSchedulers.mainThread());

1 个答案:

答案 0 :(得分:2)

如果你需要一个新线程来运行某些东西,你可以使用subscribeOn(Schedulers.newThread())

另一种选择是创建自己的调度程序和执行程序,这在大多数情况下并不是必需的。

进一步阅读: link1 link2 link3