并行流:就是把一个内容分成多个数据块,并用不同的线程分别处理每个数据块的流。
Java8中将并行进行了优化,我们可以很容易的对数据进行并行操作。Stream Api 可以声明性的通过
parallel() 与 sequential() 在并行流和顺序流之间进行切换。
demo:
/** * @author houChen * @date 2021/1/1 16:29 * @Description: * * 演示 Java8的并行流 */ public class TestParallel { /** 从1 累加到 100000000000 (1000亿) */ @Test public void test(){ Instant start = Instant.now(); long sum = LongStream.rangeClosed(0L, 100000000000L) .parallel() //底层是fork-join .reduce(0, Long::sum); Instant end = Instant.now(); //时间差换算成毫秒 System.out.println("执行时间为:"+ Duration.between(start, end).toMillis()); } }