Rx java Rx Java映射函数并行运行

Rx java Rx Java映射函数并行运行,rx-java,observable,reactive-programming,rx-java2,Rx Java,Observable,Reactive Programming,Rx Java2,可以说,RxJava和反应式编程是新手 我试图将两个函数作为单个可观察管道的一部分并行映射,但似乎没有这样做。这是我的密码 Observable.fromCallable(thatReturnsNumberOne()) .observeOn(newThread()) .map(doubleIt()) .observeOn(newThread()) .map(double

可以说,RxJava和反应式编程是新手

我试图将两个函数作为单个可观察管道的一部分并行映射,但似乎没有这样做。这是我的密码

Observable.fromCallable(thatReturnsNumberOne())
                .observeOn(newThread())
                .map(doubleIt())
                .observeOn(newThread())
                .map(doubleIt())
                .subscribe(testSubscriber);
我希望同时生成2个doubleIt调用。但它似乎总是第一次双打结束后,第二次双打才开始。ie阻塞/顺序

我遗漏了什么?

我假设ReturnsUnmberone只返回一个值。返回的值按顺序传递给每个运算符。通过使用observeOnnewThread,只有当值到达链中的该点时,才可以更改为新线程

如果要并行计算,必须使用多个观测值:

可观察的。从返回的可调用项 .flatMapnumber->Observable.fromCallabledoubleItnumber.subscribeOnnewThread .CombineRelatesTobservable.fromCallabledoubleItnumber.subscribeOnnewThread, 双打->双打[0]+双打[1] .subscribeetestsubscriber;