java中带有主线程的调度程序RXJava行为

java中带有主线程的调度程序RXJava行为,java,multithreading,rx-java,reactive-programming,schedule,Java,Multithreading,Rx Java,Reactive Programming,Schedule,我正在用RXJava研究java平台上的反应式编程。我不清楚如何使用主java线程处理调度程序,在反应式文档中,他们提到的示例中,有thread.sleep(xxxx)方法在次线程执行时使主线程休眠,但我觉得这个解决方案不实用,因为如果一个api调用的响应时间比我分配它的时间长,我就会丢失信息,如果我分配它更多的时间,系统就会停止等待唤醒主线程 这就是我正在测试的方法 Disposable d = Single.just(repo.getDtos()) .subs

我正在用RXJava研究java平台上的反应式编程。我不清楚如何使用主java线程处理调度程序,在反应式文档中,他们提到的示例中,有thread.sleep(xxxx)方法在次线程执行时使主线程休眠,但我觉得这个解决方案不实用,因为如果一个api调用的响应时间比我分配它的时间长,我就会丢失信息,如果我分配它更多的时间,系统就会停止等待唤醒主线程

这就是我正在测试的方法

Disposable d = Single.just(repo.getDtos())
                .subscribeOn(Schedulers.io())
                .subscribeWith(new DisposableSingleObserver<ArrayList<indiceUsuarios>>() {
                    @Override
                    public void onStart() {
                        System.out.println("Started");                      
                    }

                    @Override
                    public void onSuccess(ArrayList<indiceUsuarios> t) {
                        for (indiceUsuarios st : t) {
                             System.out.println(st.toString());
                        }                  
                    }

                    @Override
                    public void onError(Throwable error) {
                        error.printStackTrace();
                        
                    }
                });

d.dispose();
Disposable d=Single.just(repo.getDtos())
.subscribeOn(Schedulers.io())
.subscribowith(新的可处置SingleObserver(){
@凌驾
public void onStart(){
System.out.println(“已启动”);
}
@凌驾
成功时公共无效(ArrayList t){
适用于(指示符号st:t){
System.out.println(st.toString());
}                  
}
@凌驾
公共无效onError(可丢弃错误){
错误。printStackTrace();
}
});
d、 处置();
////////////////////////////////////////

在这个方法中,我连接到一个云数据库并获得一个ArrayList

d、 dispose(),我在这里运行该方法

当主线程从Schedulers.io()接收完信息后,是否有方法挂起并恢复其执行?可能是获取Observable的onComplete()方法,而不是使用Single。非常感谢你。社区问候

在另一个线程完成之前,无法“挂起”主线程。那要看你的看法了。您是用Java术语还是用OS术语来表示挂起?您可以通过阻塞主线程来同步两个线程,直到从单个线程获得一个结果,但这不是您进行反应式编程的方式,因为当主线程进行处理时,它既没有弹性,也没有响应性()。你想干什么?我们的用例是什么?