Java 8 流多线程
2022-09-03 13:41:03
mylist.stream()
.filter(m -> m.isokay() != null)
.forEach(m -> m.dosomething()));
对于此代码,它是否在多个线程上运行?如果没有,我该怎么做?我希望每个线程都在单独的线程上运行,以加快这项工作。m.dosomething()
mylist.stream()
.filter(m -> m.isokay() != null)
.forEach(m -> m.dosomething()));
对于此代码,它是否在多个线程上运行?如果没有,我该怎么做?我希望每个线程都在单独的线程上运行,以加快这项工作。m.dosomething()
使用 parallelStream()
来实现此目的。请注意,文档说它“可能是并行的”,因此您可能会返回非并行流。我想这些情况很少见,但请注意,这实际上是一种限制。
mylist.parallelStream()
.filter(m -> m.isokay() != null)
.forEach(m -> m.dosomething()));