RxJava在Scheduler.io()线程中不起作用
发布时间:2020-12-15 04:48:03 所属栏目:Java 来源:网络整理
导读:问题在于:我有Observable和Subscriber.我尝试在.io()线程中启动Observable,因为它适用于文件和zip存档器(我不会显示代码 – 太大),但是Observable什么都不做!: ObservableDouble creatingObservable = getCreatingObservable(image);SubscriberDouble cre
问题在于:我有Observable和Subscriber.我尝试在.io()线程中启动Observable,因为它适用于文件和zip存档器(我不会显示代码 – 太大),但是Observable什么都不做!:
Observable<Double> creatingObservable = getCreatingObservable(image); Subscriber<Double> creatingSubscriber = getCreatingSubscriber(); creatingObservable .subscribeOn(Schedulers.io()) .subscribe(creatingSubscriber); 如果我在没有subscribeOn()的情况下启动代码 – 所有工作.有什么问题以及如何解决它 附: System.out.println()也不起作用.问题有调度程序的所有线程. 解决方法
似乎问题是在createObservable之前终止的主线程可以发出任何值.
简单的解决方案:使主线程等待足够长的时间以使creationObservable能够发出/完成. 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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |