我有一个场景。我在不同的时间从不同的来源获取数据。我需要在后台线程上并行处理那些数据,并在主线程上获得结果。我想到了使用BehaviorSubject
。但是我无法弄清楚如何并行执行操作并将结果返回到主线程。由于subscribeOn
在Subjects
中没有任何作用,因此我将无法在后台线程中执行该操作。我是否缺少连接的东西?
答案 0 :(得分:0)
您能尝试这样的事情吗?
Observable.merge(
Observable.just(1, 2, 3).subscribeOn(Schedulers.io()),
Observable.just("4", "5", "6").subscribeOn(Schedulers.io())
)
.observeOn(AndroidSchedulers.mainThread())
.subscribe();
答案 1 :(得分:0)
我建议看一下ParallelFlowable并尝试下面的示例
someFlowable
.parallel(NUMBER_OF_THREADS)
.runOn(scheduler)
.doOnNext(this::doSomeWork)
.sequential()
.subscribe{ result -> ... }