03-CompletableFuture异步线程 扩展

202 阅读5分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

方法总结

方法描述场景
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用于获取返回结果有返回结果

若有收获,就点个赞吧