首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无限Java流与反应堆流量的差异

无限Java流与反应堆流量的差异
EN

Stack Overflow用户
提问于 2018-10-15 23:38:47
回答 1查看 4.7K关注 0票数 8

我正在尝试分别找出无限流和无限流动之间的概念差异(如果有的话)。

为此,我为无限流/流动提供了以下示例

代码语言:javascript
运行
复制
@Test
public void infinteStream() {

  //Prints infinite number of integers
  Stream<Integer> infiniteStream = Stream.iterate(0, i -> i+1);
 
  infiniteStream.forEach(System.out::println);
}

@Test
public void infiniteFlux()  {
    
   //Prints infinite number of date strings (every second)
   Flux<LocalDateTime> localDateTimeFlux = Flux.interval(Duration.ofSeconds(1))
            .map(t -> LocalDateTime.now());

    localDateTimeFlux.subscribe(t -> System.out.println(t.format(DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm:ss"))));
}

关于这些例子,我有一个问题:有没有类似于Flux的infinteStream() (和infinteFlux()的Stream )?更广泛地说,无限流和Flux之间有什么区别吗?

EN

回答 1

Stack Overflow用户

发布于 2018-10-17 02:48:26

作为参考,同时,我提出了一个用于infiniteFlux()的流解决方案:

代码语言:javascript
运行
复制
@Test 
public void infiniteFluxWithStream()  {

    Stream<Integer> infiniteStream = Stream.iterate(0, i -> i+1).peek(x->{
    LocalDateTime t = LocalDateTime.now();
    t.format(DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm:ss"));
    System.out.println(t);
    });

    infiniteStream.forEach(x->{
    try {
        Thread.sleep(10000);
    } catch (InterruptedException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    }); 

}

这确实很丑陋。然而,它表明,在(非常)原则上,可以根据流重写简单的Flux示例。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52820232

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档