频道栏目
首页 > 资讯 > Java > 正文

jdk8并行流

17-06-13        来源:[db:作者]  
收藏   我要投稿

jdk8并行流,本篇介绍java8的新特性之一:并行流parallelStream。

importjava.util.ArrayList;
importjava.util.List;
importjava.util.UUID;
importjava.util.concurrent.TimeUnit;

importorg.junit.Test;

/**

ParallelStreams,并行流提高性能

流可以是顺序的也可以是并行的。顺序流的操作是在单线程上执行的,而并行流的操作是在多线程上并发执行的。

*/
publicclassParallelStreams{


intmax=1000_000;
Listvalues;

publicParallelStreams(){
//创建一个包含唯一元素的大容器:
values=newArrayList();
for(inti=max;i>0;i--){
UUIDuuid=UUID.randomUUID();
values.add(uuid.toString());
}
}
//测试排序这些元素需要多长时间。

//SequentialSort,采用顺序流进行排序
@Test
publicvoidsequentialSort(){
longt0=System.nanoTime();


longcount=values.stream().sorted().count();
System.err.println("count="+count);

longt1=System.nanoTime();

longmillis=TimeUnit.NANOSECONDS.toMillis(t1-t0);
System.out.println(String.format("sequentialsorttook:%dms",millis));
//sequentialsorttook:1932ms

}

//parallelSort,采用并行流进行排序
@Test
publicvoidparallelSort(){
longt0=System.nanoTime();


longcount=values.parallelStream().sorted().count();
System.err.println("count="+count);

longt1=System.nanoTime();

longmillis=TimeUnit.NANOSECONDS.toMillis(t1-t0);
System.out.println(String.format("parallelsorttook:%dms",millis));
//parallelsorttook:1373ms并行排序所花费的时间大约是顺序排序的一半。
}
}
相关TAG标签
上一篇:Linux运维CentOS系统SVN双备份Shell脚本
下一篇:CSS-background
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站