参考并建议阅读《Java 8函数式编程》
转载请注明出处:http://blog.csdn.net/cuiods/article/details/53727191
如果将程序比作马拉车,那么并行可以看做试图用很多马拉同一辆车,以提高车速,而单纯的并发则是一匹马同时拉很多车,要做到每辆车兼顾且不翻车。处理很多马拉很多车的问题,可以看作是处理并行与并发的问题。在Java8函数式编程的支持下,如何处理并行与并发问题呢?
一、数据并行化
1、并行化流操作
对于流操作,支持并行化只需要多调用一个方法parallelStream。
public int parallelArraySum() {
return albums.parallelStream()
.flatMap(Album::getTracks)
.mapToInt(Track::getLength)
.sum();
}
在知道这个方法之后,我们都会倾向于在所有的流方法后加上这个方法,以体现代码的“并行化”特征。然而,在实际运用中如果数据量较少(100?),使用该