我们都知道再jdk1.8后支持流计算了,感觉挺高大上的,试用了一把,实际上就是它帮你做好了线程池,你只要保证你自己的代码块。
demo:serarchStartPageNo是一个list对象,要怎么做都在getinfo中处理。这里要保证并发是安全的。而且会等所有结果都返回了再继续走,可以相当于并发干活,同步返回,简单map-reduce 操作。好用吧。
List<Integer> collect = serarchStartPageNo.parallelStream().map(( s ) ->
{
return this.getInfo(s, pageSize, data, accessToken);
}).collect(Collectors.toList());
这个配置项一定要记得修改,否则用多少并发就受到了cpu个数的限制了:
-Djava.util.concurrent.ForkJoinPool.common.parallelism=30