03-CompletableFuture异步线程 扩展
方法总结
方法 |
描述 |
场景 |
runAsync |
用于开启一个异步线程,传入Runnable没有返回值 |
开启一个异步线程,同时不关注返回值 |
supplyAsync |
用于开启一个异步线程,传入供给型函数式接口,有返回值 |
开启一个异步线程,同时关注返回结果 |
thenCompose |
用于连接上一步的执行结果,继续处理,传入一个函数式接口,传入x,返回y |
用于继续处理上一步线程执行的结果(还是上面的线程去执行)关注返回结果 |
thenComposeAsync |
.. |
用于继续处理上一步线程执行的结果(开启新的线程去执行)关注返回结果 |
thenApply |
对上一步的返回结果做后续处理,传入一个函数式接口,传入x,返回y |
对上一步的返回结果做后续处理(还是上面的线程去执行)关注返回结果 |
thenApplyAsync |
.. |
对上一步的返回结果做后续处理(开启新的线程去执行)关注返回结果 |
thenAccept |
对上一步的结果做后续处理,传入一个消费型接口,传入x |
对上一步的结果做后续处理(还是上面的线程去执行)不关注返回结果 |
thenAcceptAsync |
.. |
对上一步的结果做后续处理(开启新的线程去执行)不关注返回结果 |
thenRun |
执行一个任务,传入一个Runnable接口 |
执行一个线程任务(还是上面的线程去执行),没有入参,没有返回值 |
thenRunAsync |
.. |
执行一个线程任务(开启新的线程去执行),没有入参,没有返回值 |
thenCombine |
用于合并两个线程的返回值,第一个参数就是(第二个线程任务),第二个参数是传入一个函数式接口,传入x,y 返回z |
用于线程任务合并(还是上面的线程去执行),关注返回值 |
thenCombineAsycn |
.. |
用于线程任务合并(开启新的线程去执行),关注返回值 |
thenAcceptBoth |
用于合并两个线程的返回值,第一个参数就是(第二个线程任务),第二个参数是传入一个函数式接口,传入x,y |
用于线程任务合并(还是上面的线程去执行),不关注返回值 |
thenAcceptBothAsync |
.. |
用于线程任务合并(开启新的线程去执行),不关注返回值 |
runAfterBoth |
用于合并两个线程的返回值,第一个参数就是(第二个线程任务),第二个参数是传入一个Runnable接口 |
用于线程任务合并(还是上面的线程去执行),没有入参,不关注返回值 |
runAfterBothAsync |
.. |
用于线程任务合并(开启新的线程去执行),没有入参,不关注返回值 |
applyToEither |
用于处理两个线程那个优先完成,第一个参数就是(第二个线程任务),第二个参数是一个函数式接口,传入x,返回y |
用于处理两个线程那个优先完成就用那个的返回值(还是上面的线程去执行),传入的x就是优先线程返回的结果,关注返回值 |
applyToEitherAsync |
.. |
用于处理两个线程那个优先完成就用那个的返回值(开启新的线程去执行),传入的x就是优先线程返回的结果,关注返回值 |
acceptEither |
用于处理两个线程那个优先完成,第一个参数就是(第二个线程任务),第二个参数是一个消费型接口,传入x |
用于处理两个线程那个优先完成就用那个的返回值(还是上面的线程去执行),传入的x就是优先线程返回的结果,不关注返回值 |
acceptEitherAsync |
.. |
用于处理两个线程那个优先完成就用那个的返回值(开启新的线程去执行),传入的x就是优先线程返回的结果,不关注返回值 |
runAfterEither |
用于处理两个线程那个优先完成,第一个参数就是(第二个线程任务),第二个参数是一个Runnable接口 |
用于处理两个线程那个优先完成就用那个的返回值(还是上面的线程去执行),没有入参,不关注返回值 |
runAfterEitherAsync |
.. |
用于处理两个线程那个优先完成就用那个的返回值(开启新的线程去执行),没有入参,不关注返回值 |
exceptionally |
处理上面运行中的异常,传入一个函数式接口,传入exception, 返回y |
用于处理调用异常的情况, 入参是报错的异常, 关注返回值 |
handle |
处理正常或异常的情况,传入一个函数式接口,第一个参数是正常结果(如果没异常),第二个参数是异常对象(如果有异常),返回y |
用于处理无论正常和异常都要走的情况(还是上面的线程), 关注返回值 |
handleAsync |
.. |
用于处理无论正常和异常都要走的情况(开启新的线程), 关注返回值 |
whenComplete |
处理正常或异常的情况,传入一个函数式接口,第一个参数是正常结果(如果没异常),第二个参数是异常对象(如果有异常) |
用于处理无论正常和异常都要走的情况(还是上面的线程), 不关注返回值 |
whenCompleteAsync |
.. |
用于处理无论正常和异常都要走的情况(开启新的线程), 不关注返回值 |
join |
用于获取返回结果 |
有返回结果 |
若有收获,就点个赞吧
作者:彼岸舞
时间:2022\04\11
内容关于:CompeletableFuture
本文来源于网络,只做技术分享,一概不负任何责任