Java 不急不懒

Java 不急不懒,java,reactive-programming,Java,Reactive Programming,Publisher生成的值可以分为惰性和惰性,如Mono。just和Flux。fromIterable是惰性的,而http操作是惰性的,因为它们仅在调用block或subscirbe时才会发出值。但我碰巧发现,基于这种划分,Flux.interval不属于以下任何一种: @Test public void interval() throws InterruptedException { Flux<Long> delay = Flux.interval(Duration.ofS

Publisher
生成的值可以分为惰性和惰性,如
Mono。just
Flux。fromIterable
是惰性的,而http操作是惰性的,因为它们仅在调用
block
subscirbe
时才会发出值。但我碰巧发现,基于这种划分,
Flux.interval
不属于以下任何一种:

@Test
public void interval() throws InterruptedException {
    Flux<Long> delay = Flux.interval(Duration.ofSeconds(5)).log(); // t0
    TimeUnit.SECONDS.sleep(2); // t0+2
    Flux<Long> longFlux = Flux.just(0, 0, 0).zipWith(delay, (a, b) -> a + b).log(); // t0+2+5
    StepVerifier.create(longFlux).expectNext(0l,1l,2l).verifyComplete();
}
@测试
public void interval()引发InterruptedException{
通量延迟=通量间隔(持续时间秒(5)).log();//t0
时间单位。秒。睡眠(2);//t0+2
通量longFlux=Flux.just(0,0,0).zipWith(delay,(a,b)->a+b.log();//t0+2+5
StepVerifier.create(longFlux).expectNext(0l,1l,2l).verifyComplete();
}
如果它是渴望的,它应该是t0+5;如果它是懒惰的,它应该等待调用
subscribe
block