首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

CompletableFuture笔记

CompletableFuture是java8引入的一个很实用的特性,可以视为Future的升级版本,以下几个示例可以说明其主要用法(注:示例来自《java8实战》一书第11章) 一、引子:化同步为异步...需要说明的是:CompletableFuture内部其实也是使用线程池来处理的,只不过这个线程池的类型默认是ForkJoinPool,这一点可以从java.util.concurrent.CompletableFuture...ForkJoinPool.commonPool() : new ThreadPerTaskExecutor(); 三、CompletableFuture中使用自定义线程池 如果需要查询报价的商家有很多,...如果换成用CompletableFuture默认的ForkJoinPool呢,性能会不会好一些?...[size]); CompletableFuture.allOf(futureArray).join(); } 解释:主要是利用了CompletableFuture.allOf(

68910

Java CompletableFuture 详解

创建CompletableFuture对象。 CompletableFuture.completedFuture是一个静态辅助方法,用来返回一个已经计算好的CompletableFuture。...,当原始的CompletableFuture抛出异常的时候,就会触发这个CompletableFuture的计算,调用function计算值,否则如果原始的CompletableFuture正常计算完后...因此它的功能相当于将CompletableFuture转换成CompletableFuture。...的计算值,返回结果将是一个新的CompletableFuture,这个新的CompletableFuture会组合原来的CompletableFuture和函数返回的CompletableFuture。...比如有这样一个需求,将多个CompletableFuture组合成一个CompletableFuture,这个组合后的CompletableFuture的计算结果是个List,它包含前面所有的CompletableFuture

1.5K10

CompletableFuture基本用法

-> System.out.print(x)).thenRun(() -> System.out.println()) 一个阶段的执行可能是被单个阶段的完成触发,也可能是由多个阶段一起触发 CompletableFuture...在Java8中,CompletableFuture提供了非常强大的Future的扩展功能,可以帮助我们简化异步编程的复杂性,并且提供了函数式编程的能力,可以通过回调的方式处理计算结果,也提供了转换和组合...CompletableFuture 的方法。...CompletableFuture基本用法 创建CompletableFuture ? thenApply ? 当前阶段正常完成以后执行,而且当前阶段的执行的结果会作为下一阶段的输入参数。...事实证明,只有当每个操作很复杂需要花费相对很长的时间(比如,调用多个其它的系统的接口;比如,商品详情页面这种需要从多个系统中查数据显示的)的时候用CompletableFuture才合适,不然区别真的不大

70510
领券