CompletableFuture类有哪些常用方法?
时间: 2023-11-07 18:57:31 浏览: 83
CompletableFuture类有许多常用方法可以处理异步任务,以下是其中一些常用的方法:
1. `CompletableFuture.runAsync(Runnable runnable)`:以异步无返回值的方式执行任务。
2. `CompletableFuture.supplyAsync(Supplier<U> supplier)`:以异步有返回值的方式执行任务。
3. `CompletableFuture.thenApply(Function<? super T,? extends U> fn)`:在上一个阶段的任务完成后,将结果作为参数应用给给定的函数,然后返回新的CompletableFuture。
4. `CompletableFuture.thenAccept(Consumer<? super T> action)`:在上一个阶段的任务完成后,使用结果执行给定的动作,返回新的CompletableFuture。
5. `CompletableFuture.thenCombine(CompletionStage<? extends U> other, BiFunction<? super T,? super U,? extends V> fn)`:在上一个阶段的任务和另一个CompletionStage的任务都完成后,将它们的结果作为参数应用给给定的函数,返回新的CompletableFuture。
6. `CompletableFuture.thenCompose(Function<? super T,? extends CompletionStage<U>> fn)`:在上一个阶段的任务完成后,将结果作为参数应用给给定的函数,该函数返回一个CompletionStage对象,返回新的CompletableFuture。
7. `CompletableFuture.exceptionally(Function<Throwable, extends T> fn)`:当上一个阶段的任务出现异常时,对异常进行处理并返回新的CompletableFuture。
阅读全文