![]()
使用CompletableFuture的静态方法实例化,传入的参数为函数式接口Supplier的匿名内部类,Supplier接口只提供返回值;
SupplyAsync方法中,带Async结尾的都是异步的,

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

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

当等于1时,就相当于只有一个线程,不能支持并行性则回退
大于1的时候就使用公共线程池,继续执行

当supplier接口对象为null的时候,抛出异常,不为null时,则实例化一个空参的CompletableFuture对象
在new AsyncSupply对象丢入执行器中执行AsyncSupply中重写的run方法;
然后返回CompletableFuture对象

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

被折叠的 条评论
为什么被折叠?



