CompletableFuture之有返回值异步回调

本文探讨了如何使用CompletableFuture进行有返回值的异步操作。通过SupplyAsync方法,结合Supplier接口创建匿名内部类,实现异步任务。当线程池参数asyncPool满足条件时,任务将在公共线程池中并行执行。如果supplier为null,会抛出异常;否则,将执行run方法,并返回CompletableFuture对象。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用CompletableFuture的静态方法实例化,传入的参数为函数式接口Supplier的匿名内部类,Supplier接口只提供返回值;

SupplyAsync方法中,带Async结尾的都是异步的,

asyncPool参数是一个异步线程池,

当useCommonPool为真时,useCommonPool等于公共池的并行线程数是否大于1

当等于1时,就相当于只有一个线程,不能支持并行性则回退

大于1的时候就使用公共线程池,继续执行

当supplier接口对象为null的时候,抛出异常,不为null时,则实例化一个空参的CompletableFuture对象

在new AsyncSupply对象丢入执行器中执行AsyncSupply中重写的run方法;

然后返回CompletableFuture对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值