哈哈,废话不多说,上菜:
public class LamdbaExpress01 {
public static void main(String[] args) {
testStream();
testParallelStream();
}
public static void testStream(){
long startStream = System.currentTimeMillis();
long sumStream = LongStream.rangeClosed(0, 2000000).sum();
System.out.println("串行流总和:"+sumStream);
long endStream = System.currentTimeMillis();
System.out.println("总耗费时间:"+(endStream-startStream));
}
public static void testParallelStream(){
long startTime = System.currentTimeMillis();
long sumStream = LongStream.rangeClosed(0, 2000000).parallel().sum();
System.out.println("并行流总和:"+sumStream);
long endTime = System.currentTimeMillis();
System.out.println("总耗费时间:"+(endTime-startTime));
}
}
输出结果:
串行流总和:2000001000000 总耗费时间:156 并行流总和:2000001000000 总耗费时间:16
很显然,并行流节约了很多时间。对并行流的底层实现感兴趣的同学可以去看看。



