RxJava:如何在与主线程不同的线程上创建可观察对象

RxJava: How to make observable to create on different thread than main thread

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

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());

如果您需要一个新线程来 运行 上的内容,您可以使用 subscribeOn(Schedulers.newThread())

另一种选择是创建您自己的调度程序和执行程序,这在大多数情况下确实没有必要。

进一步阅读: link2 link3