10-使用jdk8提供的lambda进行并行计算

本文介绍了如何利用JDK8的Lambda表达式进行并行计算,强调了Lambda在并发处理上的优势。通过示例展示了如何使用parallelStream()创建并行流,通过mapToInt()转换和sum()方法进行求和操作,以及如何通过forEachOrdered()保持执行顺序。文中还探讨了Lambda表达式的类型猜测特性以及其与Iterator的区别。
摘要由CSDN通过智能技术生成

 

本节来了解创建线程的最后一种方式:使用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

这是什么意思呢࿱

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值