RxJava在Scheduler.io()线程中不起作用

buk*_*101 4 java rx-java

问题在于:我有ObservableSubscriber.我尝试推出Observable.io()线程,因为它与文件和压缩的归档工作(我将不会显示的代码-过大),但Observable什么也不做!:

Observable<Double> creatingObservable = getCreatingObservable(image);
Subscriber<Double> creatingSubscriber = getCreatingSubscriber();

creatingObservable
        .subscribeOn(Schedulers.io())
        .subscribe(creatingSubscriber);
Run Code Online (Sandbox Code Playgroud)

如果我启动代码没有subscribeOn()- 所有工作.有什么问题以及如何解决它

PS System.out.println()也不起作用.问题有调度程序的所有线程.

小智 7

似乎问题是之前终止的主线程creatingObservable可以发出任何值.

简单的解决方案:使主线程等待足够长的时间以启用creatingObservable/完成.

Observable<Double> creatingObservable = getCreatingObservable(image);
Subscriber<Double> creatingSubscriber = getCreatingSubscriber();

creatingObservable
        .subscribeOn(Schedulers.io())
        .subscribe(creatingSubscriber);

Thread.sleep(5000); //to wait 5 seconds while creatingObservable is running on IO thread
Run Code Online (Sandbox Code Playgroud)