1.并行Stream流介绍
一般使用的Stream流是串行的,就是在一个线程上执行,效率并不是很高,因此JDK8也推出了一个新的概念,即并行的Stream流(parallelStream)。parallelStream其实就是一个并行执行的流,它通过默认的ForkJoinPool,可以提高多线程任务的速度。获取并行Stream流有两种方式:
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Stream;
public class Demo {
public static void main(String[] args) {
// 方式一:直接获取并行的Stream流
List<String> list = new ArrayList<>();
Stream<String> stream = list.parallelStream();
// 方式二:将串行流转成并行流
Stream<String> parallel = list.stream().parallel();
}
}
2.并行和串行Stream流的效率对比
使用for循环,串行Stream流,并行Stream流来对5亿个数字求和,看消耗的时间。
import java.util.stream.LongStream;
public class Demo {
p