Buf*_*lls 12 java multithreading java-8 java-stream
mylist.stream()
.filter(m -> m.isokay() != null)
.forEach(m -> m.dosomething()));
Run Code Online (Sandbox Code Playgroud)
对于此代码,它是否在多个线程上运行?如果没有,我该怎么办?我希望每个人m.dosomething()
都能在单独的线程上运行以加速这项工作.
Mak*_*oto 16
使用parallelStream()
做到这一点.请注意,文档说它"可能是并行的",因此您可能会返回非并行流.我想这些案例很少见,但要注意它实际上是一个限制.
mylist.parallelStream()
.filter(m -> m.isokay() != null)
.forEach(m -> m.dosomething()));
Run Code Online (Sandbox Code Playgroud)