前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >03-CompletableFuture异步线程 扩展

03-CompletableFuture异步线程 扩展

作者头像
彼岸舞
发布2022-05-10 11:14:38
2100
发布2022-05-10 11:14:38
举报
文章被收录于专栏:java开发的那点事

方法总结

方法

描述

场景

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

本文来源于网络,只做技术分享,一概不负任何责任

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-04-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 方法总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档