RxJava - 非常长的延迟



我需要使用 RxJava 的延迟运算符。谁能解释一下它是如何工作的?线程在延迟期间会休眠吗?延迟有多精确?在最坏的情况下,我需要在 1 天(24 小时延迟(后几乎发出项目。

使用延迟运算符,我们将管道的创建从懒惰延迟到急切。但是一旦开始发出延迟运算符就不会影响发出的项目

@Test
public void delayCreation() {
    long start = System.currentTimeMillis();
    Subscription subscription = Observable.just("hello reactive world")
            .delay(200, TimeUnit.MICROSECONDS)
            .subscribe(n -> System.out.println("time:" + (System.currentTimeMillis() - start)));
    new TestSubscriber((Observer) subscription).awaitTerminalEvent(1000, TimeUnit.MILLISECONDS);
}

您可以在此处查看更多延迟示例 https://github.com/politrons/reactive/blob/master/src/test/java/rx/observables/utils/ObservableDelay.java

相关内容

  • 没有找到相关文章

最新更新