小编man*_*ton的帖子

从多个供应商生成一个流

我正在尝试使用 Java 8 Lambda/Stream API 来建模一个简单的生产者/消费者系统,就像:

    Stream<Sample> samplesFlow = Stream.generate(new SampleSupplier());
    samplesFlow.forEach(new SampleConsumer());
Run Code Online (Sandbox Code Playgroud)

我意识到向多个消费者“扩展”非常简单:

    samplesFlow
        .peek(new SampleConsumer1())
        .peek(new SampleConsumer2())
        .forEach(new SampleConsumer3());
Run Code Online (Sandbox Code Playgroud)

但是如何在系统中添加新的生产者呢?是否有一些惯用的或“优雅的”方式来从几个无限的供应商生成一个流?喜欢:

Stream.generate(new SampleSupplier1(),new SampleSupplier2());  // made it up
Run Code Online (Sandbox Code Playgroud)

每个供应商都模拟一个从远程源获取数据的网络侦听器。

提前致谢!

java java-8 java-stream

5
推荐指数
1
解决办法
2672
查看次数

标签 统计

java ×1

java-8 ×1

java-stream ×1