多线程异步编排

CompletableFuture

使用举例:

任务的合并
最快完成任务的时候
所有任务都完成的时候
异常的处理
加 @FunctionalInterface 才支持lamoda表达式

底层方法:

supplyAsync() 异步运行

thenCombine() 合并

thenAccept() 上面执行完触发此方法

get() 同步获取结果

get(long timeout, TimeUnit unit) 某个时间段内返回结果 获取不到直接返回 防止线程一直堵塞

getNow() 立马获取结果,获取不到的话直接返回括弧中的参数

anyOf(CompletableFuture…) 任何一个,只有有一个执行完就结束(处理最快完成)

allOf(CompletableFuture…) 所有任务执行完毕再结束

异常处理底层用的是ForkJoinPool

原文链接:https://blog.csdn.net/weixin_43650254/java/article/details/100574889

你可能感兴趣的:(多线程异步编排)