我正在尝试找到一种创建无限并行流的好方法。 现在我的代码看起来像这样:
Stream<List<Integer>> lists =
Stream.iterate(true, x -> true)
.parallel()
.map(x ->
IntStream.rangeClosed(1, population)
.boxed()
/* ... */
.collect(toList()))
.limit(50_000);
布尔值x 值完全没有意义。 我实际上希望能够做的就是这样的伪代码:
Stream<List<Integer>> lists1 =
Stream.parallel().generate(() ->
IntStream.rangeClosed(1, population)
.boxed()
/* ... */
.collect(toList()))
.limit(50_000);
欢迎任何好的提示。感谢
答案 0 :(得分:2)
简单地:
List<List<Integer>> res = Stream.generate(() ->
// ...
).parallel()
.limit(50_000)
.collect(toList());