使用并行流还是CompletableFuture(四)

本文探讨了并行流和CompletableFuture在Java中的异步处理,重点比较了两者之间的区别和使用场景。并指出,对于涉及I/O操作的情况,CompletableFuture由于其线程池配置的灵活性,能更好地优化性能。建议根据W/C比率来设定线程池大小,以适应应用需求。同时,文章提供了一个创建定制执行器的例子,强调了守护线程在程序退出时的重要性。
摘要由CSDN通过智能技术生成


我们知道,对集合进行计算,可以使用并行和异步的CompletableFuture操作,都可以加快其处理,那么到底该使用并行还是异步呢?

并行流和CompletableFuture

如上篇博客中所讲到的getPrice()方法,使用并行方式处理,代码如下:

    public List<String> findPricesParallel(String product) {
    
        return shops.parallelStream()
                .map(shop -> shop.getName() + " price is " + shop.getPrice(product))
                .collect(Collectors.toList());
    }

使用CompletableFuture操作处理,代码如下所示:

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值