gpt4 book ai didi

java - 订阅 Observable 不会执行任何操作

转载 作者:行者123 更新时间:2023-12-02 09:43:37 31 4
gpt4 key购买 nike

我试图了解 Observables 是如何执行的,但似乎无法让这个简单的代码工作。

public class RxJavaExample {
public static void main(String[] args) {
Observable<String> hello = Observable.fromCallable(() ->
getHello()).subscribeOn(Schedulers.newThread());

hello.subscribe();

System.out.println("End of main!");
}

public static String getHello() {
System.out.println("Hello called in " +
Thread.currentThread().getName());
return "Hello";
}
}

hello.subscribe()不应该执行getHello()吗?

最佳答案

这是因为您的主线程在后台线程到达 getHello 之前完成。退出之前尝试在 main 方法中添加 Thread.sleep(5000)

或者,等待订阅的 onCompleted 被调用。

编辑:程序终止的原因是因为 RxJava 产生 daemon线程。在寻找好的来源时,我还发现了this问题,它也可能回答它。

关于java - 订阅 Observable 不会执行任何操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56845979/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com