Rx java 关于Schedulers.newThread() publicstaticvoidmain(字符串[]args){ 列表=数组.asList(1,2,3,4,5,6,7); 可观察的。来自(列表) .map(新函数1(){ @凌驾 公共字符串调用(整数){ 返回字符串。格式(“%d”,整数); } }).subscribeOn(Schedulers.newThread()) .observeOn(Schedulers.newThread()) .订阅(新操作1(){ @凌驾 公共无效调用(字符串s){ 系统输出打印; } }); }

Rx java 关于Schedulers.newThread() publicstaticvoidmain(字符串[]args){ 列表=数组.asList(1,2,3,4,5,6,7); 可观察的。来自(列表) .map(新函数1(){ @凌驾 公共字符串调用(整数){ 返回字符串。格式(“%d”,整数); } }).subscribeOn(Schedulers.newThread()) .observeOn(Schedulers.newThread()) .订阅(新操作1(){ @凌驾 公共无效调用(字符串s){ 系统输出打印; } }); },rx-java,Rx Java,当我使用rxjava时,这里有一个测试。它什么也没印。我不知道为什么。有人能帮我吗?谢谢。RxJava标准调度程序是守护进程线程。当main()方法退出时,JVM退出,这些守护进程线程停止 在main()方法的末尾放置一个Thread.sleep(5000),您将看到打印的输出。或者,在调用.subscribe()之前应用.toblock()。RxJava标准调度程序是守护进程线程。当main()方法退出时,JVM退出,这些守护进程线程停止 在main()方法的末尾放置一个Thread.slee

当我使用rxjava时,这里有一个测试。它什么也没印。我不知道为什么。有人能帮我吗?谢谢。

RxJava标准调度程序是守护进程线程。当
main()
方法退出时,JVM退出,这些守护进程线程停止


main()
方法的末尾放置一个
Thread.sleep(5000)
,您将看到打印的输出。或者,在调用
.subscribe()
之前应用
.toblock()

RxJava标准调度程序是守护进程线程。当
main()
方法退出时,JVM退出,这些守护进程线程停止


main()
方法的末尾放置一个
Thread.sleep(5000)
,您将看到打印的输出。或者,在调用
.subscribe()
之前应用
.toblock()

主方法在执行观察者代码之前返回。为了解决这个问题,您可以在.subscribe(Action1)之前添加.toblock(),非常感谢我找到了问题的原因(main方法已经完成),您的main方法在执行观察器代码之前返回。要解决这个问题,您可以在.subscribe(Action1)之前添加.toblock(),非常感谢我找到了问题的原因(main方法已经完成)
public static void main(String[] args) {
    List<Integer> list = Arrays.asList(1,2,3,4,5,6,7);
    Observable.from(list)
            .map(new Func1<Integer, String>() {
                @Override
                public String call(Integer integer) {
                    return   String.format("%d ",integer);
                }
            }).subscribeOn(Schedulers.newThread())
            .observeOn(Schedulers.newThread())
            .subscribe(new Action1<String>() {
                @Override
                public void call(String s) {
                    System.out.print(s);
                }
            });
}