Administrator
发布于 2024-08-02 / 44 阅读
0
0

CompletableFuture总览

graph LR
A[CompletableFuture] --> B[创建异步操作]
A --> C[组合操作]
A --> D[转换操作]
A --> E[异常处理]
A --> F[控制流操作]
B --> B1[supplyAsync(Supplier)创建异步供应者]
B --> B2[runAsync(Runnable) 创建异步执行者]
B --> B3[allOf(CompletableFuture...) 组合多个CompletableFuture]
B --> B4[anyOf(CompletableFuture...) 任一CompletableFuture完成]
C --> C1[thenAccept(Consumer) 接受结果]
C --> C2[thenApply(Function) 应用函数]
C --> C3[thenAcceptBoth(BiConsumer) 接受两个CompletableFuture的结果]
C --> C4[thenCombine(BiFunction) 组合两个CompletableFuture的结果]
C --> C5[thenRun(Runnable) 执行操作]
D --> D1[handle(BiFunction) 处理结果或异常]
D --> D2[thenCompose(Function) 组合异步操作]
D --> D3[whenComplete(BiConsumer) 处理结果和异常]
E --> E1[exceptionally(Supplier) 异常处理]
E --> E2[or(CompletableFuture) 提供备选CompletableFuture]
E --> E3[obtrudeValue(T) 强制完成值]
E --> E4[obtrudeException(Throwable) 强制完成异常]
F --> F1[get() 阻塞获取结果]
F --> F2[join() 获取CompletableFuture的结果]
F --> F3[cancel(boolean) 取消操作]
F --> F4[isDone() 检查是否完成]


评论