JAVA研发狄仁杰 5万字:Stream和Lambda表达式最佳实践2( 九 )


输出结果:INFOcom.flydean.CustThreadPool-499500复制代码16.2使用自定义ForkJoinPool
上面的例子使用的共享的threadpool 。 我们看下怎么使用自定义的threadpool来提交并行stream:List
integerList=IntStream.range(1,1000).boxed().collect(Collectors.toList());ForkJoinPoolcustomThreadPool=newForkJoinPool(4);IntegeractualTotal=customThreadPool.submit(()->integerList.parallelStream().reduce(0,Integer::sum)).get();log.info("{}",actualTotal);复制代码
上面的例子中 , 我们定义了一个4个线程的ForkJoinPool , 并使用它来提交了这个parallelStream 。
输出结果:INFOcom.flydean.CustThreadPool-499500复制代码
如果不想使用公共的线程池 , 则可以使用自定义的ForkJoinPool来提交 。 17.总结
本文统一介绍了Stream和lambda表达式的使用 , 涵盖了Stream和lambda表达式的各个小的细节 , 希望大家能够喜欢 。


推荐阅读