本节来了解创建线程的最后一种方式:使用Lambda表达式实现。
Lambda表达式是jdk8中所实现的一个新特性,称之为函数式编程,也是一个非常强大的功能。
Lambda表达式有非常多的好处,当然了,它也有坏处,我们这里简单提几点它的好处,就是,使用Lambda表达式的代码看上去会更加的简洁,另外就是,实现起来会更加的方便,然后,再就是,它对并发的支持是非常好的,使用Lambda表达式写出来的代码可能性能是非常高的,我们本节主要是了解使用Lambda表达式实现并发,或者说,让它用多线程去干一件事。
Lambda表达式对并发的支持是非常好的,使用Lambda表达式写出来的代码性能是非常高的,我们本节主要是了解使用Lambda表达式来实现一个并发,或者说,让它用多线程去干一件事。
使用Lambda表达式做一个并行的求和的运算,求一个集合中的值求和,比如从一个文本中读取大量的数值,然后放到一个集合中,然后计算这个集合中的值求和。
我们首先获取它的并发流
stream()是普通的,parallelStream()是一个并行的流,Java收集器里面有一个parallel收集器,这个收集器是并发的,就是说,你扔垃圾和扫地是同时进行的,非常强大。下面要怎么办呢?
这里报错了。
我们要求和,求和,这里面有一个sum()方法,sum()方法是int的方法,所以我们要
把这个stream,这个流转成一个int stream,我们可以使用mapToInt()方法。
这里面我们只要传入一个ToIntFunction就可以了。怎么ToIntFunction呢?我们随便定义变量,比如本例定义变量a,让a指向a
这是什么意思呢