RxJava:间隔运算符不返回无限序列

时间:2019-01-30 16:27:28

标签: rx-java2

根据RxJava文档,时间间隔运算符“创建一个Observable,它发出以给定时间间隔隔开的整数序列”。我写了下面的程序,但没有调用subscribe方法。我在这里错过了什么吗?

Observable<Long> observable = Observable.interval(1, 1, TimeUnit.SECONDS);

observable.subscribe(new Consumer<Long>() {

    @Override
    public void accept(Long t) throws Exception {
        System.out.println(t);
    }

});

我正在使用'io.reactivex.rxjava2'版本2.2.6

1 个答案:

答案 0 :(得分:0)

正如我探索的那样,可观察的数据推送发生在守护进程线程中,为了使我的应用程序正常工作,我应该将主线程保持一段时间,以便可观察的事件有机会触发该事件。我更新了如下代码,以使应用程序运行。

Observable<Long> observable = Observable.interval(1, 1, TimeUnit.SECONDS);

observable.subscribe(new Consumer<Long>() {

    @Override
    public void accept(Long t) throws Exception {
        //System.out.println(Thread.currentThread().getName() + " " + Thread.currentThread().isDaemon());
        System.out.println(t);
    }

});

Thread.sleep(5000);