方法 | 描述 | 场景 |
---|---|---|
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
本文来源于网络,只做技术分享,一概不负任何责任