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

用于获取返回结果

有返回结果

 
 
posted @ 2022-04-11 18:09  彼岸舞  阅读(64)  评论(0编辑  收藏  举报