博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jdk8-stream-并行流的使用
阅读量:5375 次
发布时间:2019-06-15

本文共 1097 字,大约阅读时间需要 3 分钟。

使用jdk的stream, 可以非常方便的将串行改为并行

1, 判断是否质数

/**     * 将一个stream改成简单的并行     */    @Test    public void test1() {        // 串行        long count = IntStream.range(0, 100000).filter(this::isPrime).count();        System.out.println(count);        // 并行        long count1 = IntStream.range(0, 100000).parallel().filter(this::isPrime).count();        System.out.println(count1);    }    /**     * 判断是否质数     * @param num     * @return     */    public Boolean isPrime(int num) {        int tmp = num;        if (tmp < 2) return false;        for (int i = 2; Math.sqrt(tmp) >= i; i++) {            if (tmp % i == 0) return false;        }        return true;    }

可以看到, 调用了一个parallel() 就可以改为并行计算

2, 获取一个集合的并行流

/**     * 获取一个并行流     */    @Test    public void test2() {        List
objects = Lists.newArrayList(); Stream
jsonObjectStream = objects.parallelStream(); }

3, 使用并行排序

/**     * 并行排序     */    @Test    public void test3() {        int[] lists = new int[1000];        Arrays.parallelSort(lists);    }

 

转载于:https://www.cnblogs.com/wenbronk/p/9100214.html

你可能感兴趣的文章
软件工程——结对作业(First)
查看>>
浅谈分布式事务原理及其应用场景
查看>>
R语言:读取数据
查看>>
Microsoft .NET Framework 4 安装 1603错误的解决
查看>>
BZOJ5091摘苹果(概率、期望)
查看>>
论文摘记 2017.4.18-4.25
查看>>
从零开始学CSRF
查看>>
【测绘图槽】06 永不放弃励志短片
查看>>
IOS 开发中判断字符串是否为空字符的方法
查看>>
Oracle EBS AR 贷项通知单核销取值
查看>>
权限工作流平台系列-权限工作流版
查看>>
RMA部分接收不成功处理方法
查看>>
CSharp关键字----base
查看>>
eclipse加入git工具
查看>>
mongoose 数据库操作 - 分页
查看>>
Android提高第二篇之SurfaceView的基本使用
查看>>
05_android入门_GET方式实现登陆(在控件上显示服务端返回的内容)
查看>>
spring-01
查看>>
C# 多线程操作实例
查看>>
Android Monkey: “No activities found to run, monkey aborted”错误原因
查看>>