- 类型参数:
T- 此未来的join和get方法返回的结果类型
- 所有已实现的接口:
CompletionStage<T>,Future<T>
Future 可以显式完成(设置其值和状态),并可以用作 CompletionStage ,支持在其完成时触发的依赖函数和操作。
当两个或多个线程尝试 complete 、 completeExceptionally 或 cancel CompletableFuture 时,只有其中一个成功。
除了这些和直接操作状态和结果的相关方法之外,CompletableFuture 还使用以下策略实现接口 CompletionStage :
- 为 non-async 方法的依赖完成提供的操作可以由完成当前 CompletableFuture 的线程或由完成方法的任何其他调用者执行。
- 所有没有显式 Executor 参数的 async 方法都使用
ForkJoinPool.commonPool()执行(除非它不支持至少两个并行级别,在这种情况下,将创建一个新线程来运行每个任务)。这可以通过定义方法defaultExecutor()来覆盖子类中的非静态方法。为了简化监控、调试和跟踪,所有生成的异步任务都是标记接口CompletableFuture.AsynchronousCompletionTask的实例。具有时间延迟的操作可以使用此类中定义的适配器方法,例如:supplyAsync(supplier, delayedExecutor(timeout, timeUnit))。为了支持具有延迟和超时的方法,此类最多维护一个守护线程用于触发和取消操作,而不是用于运行它们。 - 所有 CompletionStage 方法都是独立于其他公共方法实现的,因此一个方法的行为不会受到子类中其他方法重写的影响。
- 所有 CompletionStage 方法都返回 CompletableFutures。要将用法限制为仅在接口 CompletionStage 中定义的那些方法,请使用方法
minimalCompletionStage()。或者只确保客户自己不修改未来,使用方法copy()。
CompletableFuture 还使用以下策略实现 Future :
- 由于(与
FutureTask不同)此类无法直接控制导致其完成的计算,因此取消被视为异常完成的另一种形式。方法cancel与completeExceptionally(new CancellationException())具有相同的效果。方法isCompletedExceptionally()可用于确定 CompletableFuture 是否以任何异常方式完成。 - 如果异常完成并出现 CompletionException,方法
get()和get(long, TimeUnit)会抛出一个ExecutionException,其原因与相应的 CompletionException 中的原因相同。为了简化大多数情况下的使用,此类还定义了方法join()和getNow(T),它们在这些情况下直接抛出 CompletionException。
用于为接受它们的方法传递完成结果的参数(即,对于类型为 T 的参数)可能为 null,但为任何其他参数传递 null 值将导致抛出 NullPointerException 。
此类的子类通常应覆盖“虚拟构造函数”方法 newIncompleteFuture() ,该方法建立 CompletionStage 方法返回的具体类型。例如,这是一个替代不同默认执行器并禁用 obtrude 方法的类:
class MyCompletableFuture<T> extends CompletableFuture<T> {
static final Executor myExecutor = ...;
public MyCompletableFuture() { }
public <U> CompletableFuture<U> newIncompleteFuture() {
return new MyCompletableFuture<U>(); }
public Executor defaultExecutor() {
return myExecutor; }
public void obtrudeValue(T value) {
throw new UnsupportedOperationException(); }
public void obtrudeException(Throwable ex) {
throw new UnsupportedOperationException(); }
}
- 自从:
- 1.8
-
内部类总结
内部类在接口 java.util.concurrent.Future 中声明的嵌套类/接口
Future.State -
构造方法总结
构造方法 -
方法总结
修饰符和类型方法描述acceptEither(CompletionStage<? extends T> other, Consumer<? super T> action) 返回一个新的 CompletionStage,当这个或另一个给定阶段正常完成时,将以相应的结果作为提供的操作的参数执行。acceptEitherAsync(CompletionStage<? extends T> other, Consumer<? super T> action) 返回一个新的 CompletionStage,当这个或另一个给定阶段正常完成时,使用此阶段的默认异步执行工具执行,并将相应的结果作为提供的操作的参数。acceptEitherAsync(CompletionStage<? extends T> other, Consumer<? super T> action, Executor executor) 返回一个新的 CompletionStage,当这个或另一个给定阶段正常完成时,使用提供的执行器执行,并将相应的结果作为提供的操作的参数。static CompletableFuture<Void>allOf(CompletableFuture<?>... cfs) 返回一个新的 CompletableFuture,它在所有给定的 CompletableFutures 完成时完成。static CompletableFuture<Object>anyOf(CompletableFuture<?>... cfs) 返回一个新的 CompletableFuture,它在任何给定的 CompletableFutures 完成时完成,结果相同。<U> CompletableFuture<U>applyToEither(CompletionStage<? extends T> other, Function<? super T, U> fn) 返回一个新的 CompletionStage,当这个或另一个给定阶段正常完成时,将以相应的结果作为所提供函数的参数执行。<U> CompletableFuture<U>applyToEitherAsync(CompletionStage<? extends T> other, Function<? super T, U> fn) 返回一个新的 CompletionStage,当这个或另一个给定阶段正常完成时,使用此阶段的默认异步执行工具执行,并将相应的结果作为提供函数的参数。<U> CompletableFuture<U>applyToEitherAsync(CompletionStage<? extends T> other, Function<? super T, U> fn, Executor executor) 返回一个新的 CompletionStage,当这个或另一个给定阶段正常完成时,使用提供的执行器执行,并将相应的结果作为提供函数的参数。booleancancel(boolean mayInterruptIfRunning) 如果尚未完成,则使用CancellationException完成此 CompletableFuture。boolean如果尚未完成,则将get()和相关方法返回的值设置为给定值。completeAsync(Supplier<? extends T> supplier) 使用默认执行程序从异步任务调用的给定 Supplier 函数的结果完成此 CompletableFuture。completeAsync(Supplier<? extends T> supplier, Executor executor) 使用给定的执行程序从异步任务调用的给定供应商函数的结果完成此 CompletableFuture。static <U> CompletableFuture<U>completedFuture(U value) 返回一个已经用给定值完成的新的 CompletableFuture。static <U> CompletionStage<U>completedStage(U value) 返回一个新的 CompletionStage,它已经用给定的值完成并且只支持接口CompletionStage中的那些方法。boolean如果尚未完成,则导致调用get()和相关方法以抛出给定的异常。completeOnTimeout(T value, long timeout, TimeUnit unit) 如果在给定超时之前未以其他方式完成,则使用给定值完成此 CompletableFuture。copy()返回一个正常完成的新 CompletableFuture,其正常完成时具有与此 CompletableFuture 相同的值。返回用于未指定执行器的异步方法的默认执行器。static ExecutordelayedExecutor(long delay, TimeUnit unit) 返回一个新的 Executor,它在给定的延迟(如果为非正数则没有延迟)后将任务提交给默认执行器。static ExecutordelayedExecutor(long delay, TimeUnit unit, Executor executor) 返回一个新的 Executor,它在给定的延迟后(如果为非正则则不延迟)向给定的基本执行器提交任务。exceptionally(Function<Throwable, ? extends T> fn) 返回一个新的 CompletionStage,当此阶段异常完成时,将执行此阶段的异常作为提供函数的参数。static <U> CompletableFuture<U>返回一个新的 CompletableFuture,它已经异常完成并出现给定的异常。static <U> CompletionStage<U>failedStage(Throwable ex) 返回一个新的 CompletionStage,它已经异常完成并出现给定的异常,并且仅支持接口CompletionStage中的那些方法。get()如有必要,等待此未来完成,然后返回其结果。如有必要,最多等待此未来完成的给定时间,然后返回其结果(如果可用)。如果完成则返回结果值(或抛出任何遇到的异常),否则返回给定的 valueIfAbsent。int返回其完成正在等待此 CompletableFuture 完成的 CompletableFuture 的估计数量。<U> CompletableFuture<U>handle(BiFunction<? super T, Throwable, ? extends U> fn) 返回一个新的 CompletionStage,当此阶段正常或异常完成时,将使用此阶段的结果和异常作为所提供函数的参数执行。<U> CompletableFuture<U>handleAsync(BiFunction<? super T, Throwable, ? extends U> fn) 返回一个新的 CompletionStage,当这个阶段正常或异常完成时,使用这个阶段的默认异步执行工具执行,这个阶段的结果和异常作为提供函数的参数。<U> CompletableFuture<U>handleAsync(BiFunction<? super T, Throwable, ? extends U> fn, Executor executor) 返回一个新的 CompletionStage,当此阶段正常或异常完成时,使用提供的执行程序执行该阶段的结果和异常作为提供函数的参数。boolean如果此 CompletableFuture 在正常完成之前被取消,则返回true。boolean如果此 CompletableFuture 以任何方式异常完成,则返回true。booleanisDone()如果以任何方式完成,则返回true:正常、异常或通过取消。join()完成时返回结果值,如果异常完成则抛出(未经检查的)异常。返回一个正常完成的新 CompletionStage,其正常完成时具有与此 CompletableFuture 相同的值,并且不能独立完成或以接口CompletionStage的方法未定义的方式使用。<U> CompletableFuture<U>返回一个新的不完整的 CompletableFuture,其类型由 CompletionStage 方法返回。void强制导致后续调用方法get()和相关方法抛出给定的异常,无论是否已经完成。voidobtrudeValue(T value) 强制设置或重置方法get()和相关方法随后返回的值,无论是否已完成。如果在给定的超时之前没有以其他方式完成,则使用TimeoutException异常地完成此 CompletableFuture。runAfterBoth(CompletionStage<?> other, Runnable action) 返回一个新的 CompletionStage,当这个阶段和另一个给定阶段都正常完成时,执行给定的操作。runAfterBothAsync(CompletionStage<?> other, Runnable action) 返回一个新的 CompletionStage,当这个和另一个给定阶段都正常完成时,使用这个阶段的默认异步执行工具执行给定的操作。runAfterBothAsync(CompletionStage<?> other, Runnable action, Executor executor) 返回一个新的 CompletionStage,当这个阶段和另一个给定阶段都正常完成时,使用提供的执行程序执行给定的操作。runAfterEither(CompletionStage<?> other, Runnable action) 返回一个新的 CompletionStage,当这个或另一个给定阶段正常完成时,它会执行给定的操作。runAfterEitherAsync(CompletionStage<?> other, Runnable action) 返回一个新的 CompletionStage,当这个或另一个给定阶段正常完成时,使用这个阶段的默认异步执行工具执行给定的操作。runAfterEitherAsync(CompletionStage<?> other, Runnable action, Executor executor) 返回一个新的 CompletionStage,当这个或另一个给定阶段正常完成时,使用提供的执行程序执行给定的操作。static CompletableFuture<Void>返回一个新的 CompletableFuture,它在运行给定操作后由ForkJoinPool.commonPool()中运行的任务异步完成。static CompletableFuture<Void>返回一个新的 CompletableFuture,它在运行给定操作后由在给定执行器中运行的任务异步完成。static <U> CompletableFuture<U>supplyAsync(Supplier<U> supplier) 返回一个新的 CompletableFuture,它由ForkJoinPool.commonPool()中运行的任务异步完成,其值是通过调用给定的 Supplier 获得的。static <U> CompletableFuture<U>supplyAsync(Supplier<U> supplier, Executor executor) 返回一个新的 CompletableFuture,它由在给定执行器中运行的任务异步完成,其值是通过调用给定供应商获得的。thenAccept(Consumer<? super T> action) 返回一个新的 CompletionStage,当此阶段正常完成时,将使用此阶段的结果作为提供的操作的参数执行。thenAcceptAsync(Consumer<? super T> action) 返回一个新的 CompletionStage,当这个阶段正常完成时,使用这个阶段的默认异步执行工具执行,这个阶段的结果作为提供的操作的参数。thenAcceptAsync(Consumer<? super T> action, Executor executor) 返回一个新的 CompletionStage,当这个阶段正常完成时,使用提供的 Executor 执行,这个阶段的结果作为提供的操作的参数。<U> CompletableFuture<Void>thenAcceptBoth(CompletionStage<? extends U> other, BiConsumer<? super T, ? super U> action) 返回一个新的 CompletionStage,当这个和另一个给定阶段都正常完成时,将执行两个结果作为提供的操作的参数。<U> CompletableFuture<Void>thenAcceptBothAsync(CompletionStage<? extends U> other, BiConsumer<? super T, ? super U> action) 返回一个新的 CompletionStage,当这个和另一个给定阶段都正常完成时,使用这个阶段的默认异步执行工具执行,两个结果作为提供的操作的参数。<U> CompletableFuture<Void>thenAcceptBothAsync(CompletionStage<? extends U> other, BiConsumer<? super T, ? super U> action, Executor executor) 返回一个新的 CompletionStage,当这个和另一个给定阶段都正常完成时,使用提供的执行器执行,两个结果作为提供的操作的参数。<U> CompletableFuture<U>返回一个新的 CompletionStage,当此阶段正常完成时,将使用此阶段的结果作为所提供函数的参数执行。<U> CompletableFuture<U>thenApplyAsync(Function<? super T, ? extends U> fn) 返回一个新的 CompletionStage,当这个阶段正常完成时,使用这个阶段的默认异步执行工具执行,这个阶段的结果作为提供函数的参数。<U> CompletableFuture<U>thenApplyAsync(Function<? super T, ? extends U> fn, Executor executor) 返回一个新的 CompletionStage,当这个阶段正常完成时,使用提供的 Executor 执行,这个阶段的结果作为提供函数的参数。<U,V> CompletableFuture<V> thenCombine(CompletionStage<? extends U> other, BiFunction<? super T, ? super U, ? extends V> fn) 返回一个新的 CompletionStage,当这个阶段和另一个给定阶段都正常完成时,将以两个结果作为所提供函数的参数来执行。<U,V> CompletableFuture<V> thenCombineAsync(CompletionStage<? extends U> other, BiFunction<? super T, ? super U, ? extends V> fn) 返回一个新的 CompletionStage,当这个和另一个给定阶段都正常完成时,使用这个阶段的默认异步执行工具执行,两个结果作为提供函数的参数。<U,V> CompletableFuture<V> thenCombineAsync(CompletionStage<? extends U> other, BiFunction<? super T, ? super U, ? extends V> fn, Executor executor) 返回一个新的 CompletionStage,当这个和另一个给定阶段都正常完成时,使用提供的执行器执行,两个结果作为提供函数的参数。<U> CompletableFuture<U>thenCompose(Function<? super T, ? extends CompletionStage<U>> fn) 返回一个新的 CompletionStage,它的完成值与给定函数返回的 CompletionStage 相同。<U> CompletableFuture<U>thenComposeAsync(Function<? super T, ? extends CompletionStage<U>> fn) 给定函数返回的 CompletionStage相同,使用此阶段的默认异步执行工具执行。<U> CompletableFuture<U>thenComposeAsync(Function<? super T, ? extends CompletionStage<U>> fn, Executor executor) 返回一个新的 CompletionStage,它的完成值与给定函数返回的 CompletionStage 相同,使用提供的 Executor 执行。返回一个新的 CompletionStage,当这个阶段正常完成时,它会执行给定的操作。thenRunAsync(Runnable action) 返回一个新的 CompletionStage,当此阶段正常完成时,使用此阶段的默认异步执行工具执行给定的操作。thenRunAsync(Runnable action, Executor executor) 返回一个新的 CompletionStage,当这个阶段正常完成时,使用提供的执行器执行给定的操作。返回此 CompletableFuture。toString()返回标识此 CompletableFuture 及其完成状态的字符串。whenComplete(BiConsumer<? super T, ? super Throwable> action) 返回一个与此阶段具有相同结果或异常的新 CompletionStage,它会在此阶段完成时执行给定的操作。whenCompleteAsync(BiConsumer<? super T, ? super Throwable> action) 返回一个与此阶段具有相同结果或异常的新 CompletionStage,当此阶段完成时,它使用此阶段的默认异步执行工具执行给定的操作。whenCompleteAsync(BiConsumer<? super T, ? super Throwable> action, Executor executor) 返回一个与此阶段具有相同结果或异常的新 CompletionStage,当此阶段完成时,它使用提供的 Executor 执行给定的操作。在类 java.lang.Object 中声明的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait在接口 java.util.concurrent.CompletionStage 中声明的方法
exceptionallyAsync, exceptionallyAsync, exceptionallyCompose, exceptionallyComposeAsync, exceptionallyComposeAsync在接口 java.util.concurrent.Future 中声明的方法
exceptionNow, resultNow, state
-
构造方法详细信息
-
CompletableFuture
public CompletableFuture()创建一个新的不完整的 CompletableFuture。
-
-
方法详情
-
supplyAsync
返回一个新的 CompletableFuture,它由ForkJoinPool.commonPool()中运行的任务异步完成,其值是通过调用给定的 Supplier 获得的。- 类型参数:
U- 函数的返回类型- 参数:
supplier- 返回用于完成返回的 CompletableFuture 的值的函数- 返回:
- 新的 CompletableFuture
-
supplyAsync
返回一个新的 CompletableFuture,它由在给定执行器中运行的任务异步完成,其值是通过调用给定供应商获得的。- 类型参数:
U- 函数的返回类型- 参数:
supplier- 返回用于完成返回的 CompletableFuture 的值的函数executor- 用于异步执行的执行程序- 返回:
- 新的 CompletableFuture
-
runAsync
返回一个新的 CompletableFuture,它在运行给定操作后由ForkJoinPool.commonPool()中运行的任务异步完成。- 参数:
runnable- 在完成返回的 CompletableFuture 之前运行的操作- 返回:
- 新的 CompletableFuture
-
runAsync
返回一个新的 CompletableFuture,它在运行给定操作后由在给定执行器中运行的任务异步完成。- 参数:
runnable- 在完成返回的 CompletableFuture 之前运行的操作executor- 用于异步执行的执行程序- 返回:
- 新的 CompletableFuture
-
completedFuture
返回一个已经用给定值完成的新的 CompletableFuture。- 类型参数:
U- 值的类型- 参数:
value- 值- 返回:
- 完成的 CompletableFuture
-
isDone
public boolean isDone()如果以任何方式完成,则返回true:正常、异常或通过取消。 -
get
如有必要,等待此未来完成,然后返回其结果。- 指定者:
get在接口Future<T>中- 返回:
- 结果值
- 抛出:
CancellationException- 如果这个未来被取消ExecutionException- 如果这个未来异常完成InterruptedException- 如果当前线程在等待时被中断
-
get
public T get(long timeout, TimeUnit unit) throws InterruptedException , ExecutionException , TimeoutException 如有必要,最多等待此未来完成的给定时间,然后返回其结果(如果可用)。- 指定者:
get在接口Future<T>中- 参数:
timeout- 最长时间等待unit- 超时参数的时间单位- 返回:
- 结果值
- 抛出:
CancellationException- 如果这个未来被取消ExecutionException- 如果这个未来异常完成InterruptedException- 如果当前线程在等待时被中断TimeoutException- 如果等待超时
-
join
完成时返回结果值,如果异常完成则抛出(未经检查的)异常。为了更好地符合通用函数形式的使用,如果完成此 CompletableFuture 所涉及的计算抛出异常,则此方法抛出一个(未检查的)CompletionException,并将底层异常作为其原因。- 返回:
- 结果值
- 抛出:
CancellationException- 如果计算被取消CompletionException- 如果这个未来异常完成或完成计算抛出异常
-
getNow
如果完成则返回结果值(或抛出任何遇到的异常),否则返回给定的 valueIfAbsent。- 参数:
valueIfAbsent- 未完成时返回的值- 返回:
- 结果值,如果完成,否则为给定的 valueIfAbsent
- 抛出:
CancellationException- 如果计算被取消CompletionException- 如果这个未来异常完成或完成计算抛出异常
-
complete
如果尚未完成,则将get()和相关方法返回的值设置为给定值。- 参数:
value- 结果值- 返回:
true如果此调用导致此 CompletableFuture 转换为完成状态,否则false
-
completeExceptionally
如果尚未完成,则导致调用get()和相关方法以抛出给定的异常。- 参数:
ex- 异常- 返回:
true如果此调用导致此 CompletableFuture 转换为完成状态,否则false
-
thenApply
从接口CompletionStage复制的描述返回一个新的 CompletionStage,当此阶段正常完成时,将使用此阶段的结果作为所提供函数的参数执行。此方法类似于
Optional.map和Stream.map。有关异常完成的规则,请参阅
CompletionStage文档。- 指定者:
thenApply在接口CompletionStage<T>中- 类型参数:
U- 函数的返回类型- 参数:
fn- 用于计算返回的 CompletionStage 值的函数- 返回:
- 新的 CompletionStage
-
thenApplyAsync
从接口CompletionStage复制的描述返回一个新的 CompletionStage,当这个阶段正常完成时,使用这个阶段的默认异步执行工具执行,这个阶段的结果作为提供函数的参数。有关异常完成的规则,请参阅CompletionStage文档。- 指定者:
thenApplyAsync在接口CompletionStage<T>中- 类型参数:
U- 函数的返回类型- 参数:
fn- 用于计算返回的 CompletionStage 值的函数- 返回:
- 新的 CompletionStage
-
thenApplyAsync
public <U> CompletableFuture <U> thenApplyAsync(Function <? super T , ? extends U> fn, Executor executor) 从接口CompletionStage复制的描述返回一个新的 CompletionStage,当这个阶段正常完成时,使用提供的 Executor 执行,这个阶段的结果作为提供函数的参数。有关异常完成的规则,请参阅CompletionStage文档。- 指定者:
thenApplyAsync在接口CompletionStage<T>中- 类型参数:
U- 函数的返回类型- 参数:
fn- 用于计算返回的 CompletionStage 值的函数executor- 用于异步执行的执行程序- 返回:
- 新的 CompletionStage
-
thenAccept
从接口CompletionStage复制的描述返回一个新的 CompletionStage,当此阶段正常完成时,将使用此阶段的结果作为提供的操作的参数执行。有关异常完成的规则,请参阅CompletionStage文档。- 指定者:
thenAccept在接口CompletionStage<T>中- 参数:
action- 在完成返回的 CompletionStage 之前执行的操作- 返回:
- 新的 CompletionStage
-
thenAcceptAsync
从接口CompletionStage复制的描述返回一个新的 CompletionStage,当这个阶段正常完成时,使用这个阶段的默认异步执行工具执行,这个阶段的结果作为提供的操作的参数。有关异常完成的规则,请参阅CompletionStage文档。- 指定者:
thenAcceptAsync在接口CompletionStage<T>中- 参数:
action- 在完成返回的 CompletionStage 之前执行的操作- 返回:
- 新的 CompletionStage
-
thenAcceptAsync
从接口CompletionStage复制的描述返回一个新的 CompletionStage,当这个阶段正常完成时,使用提供的 Executor 执行,这个阶段的结果作为提供的操作的参数。有关异常完成的规则,请参阅CompletionStage文档。- 指定者:
thenAcceptAsync在接口CompletionStage<T>中- 参数:
action- 在完成返回的 CompletionStage 之前执行的操作executor- 用于异步执行的执行程序- 返回:
- 新的 CompletionStage
-
thenRun
从接口CompletionStage复制的描述返回一个新的 CompletionStage,当这个阶段正常完成时,它会执行给定的操作。有关异常完成的规则,请参阅CompletionStage文档。- 指定者:
thenRun在接口CompletionStage<T>中- 参数:
action- 在完成返回的 CompletionStage 之前执行的操作- 返回:
- 新的 CompletionStage
-
thenRunAsync
从接口CompletionStage复制的描述返回一个新的 CompletionStage,当此阶段正常完成时,使用此阶段的默认异步执行工具执行给定的操作。有关异常完成的规则,请参阅CompletionStage文档。- 指定者:
thenRunAsync在接口CompletionStage<T>中- 参数:
action- 在完成返回的 CompletionStage 之前执行的操作- 返回:
- 新的 CompletionStage
-
thenRunAsync
从接口CompletionStage复制的描述返回一个新的 CompletionStage,当这个阶段正常完成时,使用提供的执行器执行给定的操作。有关异常完成的规则,请参阅CompletionStage文档。- 指定者:
thenRunAsync在接口CompletionStage<T>中- 参数:
action- 在完成返回的 CompletionStage 之前执行的操作executor- 用于异步执行的执行程序- 返回:
- 新的 CompletionStage
-
thenCombine
public <U,V> CompletableFuture <V> thenCombine(CompletionStage <? extends U> other, BiFunction <? super T , ? super U, ? extends V> fn) 从接口CompletionStage复制的描述返回一个新的 CompletionStage,当这个阶段和另一个给定阶段都正常完成时,将以两个结果作为所提供函数的参数来执行。有关异常完成的规则,请参阅CompletionStage文档。- 指定者:
thenCombine在接口CompletionStage<T>中- 类型参数:
U- 其他 CompletionStage 结果的类型V- 函数的返回类型- 参数:
other- 另一个 CompletionStagefn- 用于计算返回的 CompletionStage 值的函数- 返回:
- 新的 CompletionStage
-
thenCombineAsync
public <U,V> CompletableFuture <V> thenCombineAsync(CompletionStage <? extends U> other, BiFunction <? super T , ? super U, ? extends V> fn) 从接口CompletionStage复制的描述返回一个新的 CompletionStage,当这个和另一个给定阶段都正常完成时,使用这个阶段的默认异步执行工具执行,两个结果作为提供函数的参数。有关异常完成的规则,请参阅CompletionStage文档。- 指定者:
thenCombineAsync在接口CompletionStage<T>中- 类型参数:
U- 其他 CompletionStage 结果的类型V- 函数的返回类型- 参数:
other- 另一个 CompletionStagefn- 用于计算返回的 CompletionStage 值的函数- 返回:
- 新的 CompletionStage
-
thenCombineAsync
public <U,V> CompletableFuture <V> thenCombineAsync(CompletionStage <? extends U> other, BiFunction <? super T , ? super U, ? extends V> fn, Executor executor) 从接口CompletionStage复制的描述返回一个新的 CompletionStage,当这个和另一个给定阶段都正常完成时,使用提供的执行器执行,两个结果作为提供函数的参数。有关异常完成的规则,请参阅CompletionStage文档。- 指定者:
thenCombineAsync在接口CompletionStage<T>中- 类型参数:
U- 其他 CompletionStage 结果的类型V- 函数的返回类型- 参数:
other- 另一个 CompletionStagefn- 用于计算返回的 CompletionStage 值的函数executor- 用于异步执行的执行程序- 返回:
- 新的 CompletionStage
-
thenAcceptBoth
public <U> CompletableFuture <Void > thenAcceptBoth(CompletionStage <? extends U> other, BiConsumer <? super T , ? super U> action) 从接口CompletionStage复制的描述返回一个新的 CompletionStage,当这个和另一个给定阶段都正常完成时,将执行两个结果作为提供的操作的参数。有关异常完成的规则,请参阅CompletionStage文档。- 指定者:
thenAcceptBoth在接口CompletionStage<T>中- 类型参数:
U- 其他 CompletionStage 结果的类型- 参数:
other- 另一个 CompletionStageaction- 在完成返回的 CompletionStage 之前执行的操作- 返回:
- 新的 CompletionStage
-
thenAcceptBothAsync
public <U> CompletableFuture <Void > thenAcceptBothAsync(CompletionStage <? extends U> other, BiConsumer <? super T , ? super U> action) 从接口CompletionStage复制的描述返回一个新的 CompletionStage,当这个和另一个给定阶段都正常完成时,使用这个阶段的默认异步执行工具执行,两个结果作为提供的操作的参数。有关异常完成的规则,请参阅CompletionStage文档。- 指定者:
thenAcceptBothAsync在接口CompletionStage<T>中- 类型参数:
U- 其他 CompletionStage 结果的类型- 参数:
other- 另一个 CompletionStageaction- 在完成返回的 CompletionStage 之前执行的操作- 返回:
- 新的 CompletionStage
-
thenAcceptBothAsync
public <U> CompletableFuture <Void > thenAcceptBothAsync(CompletionStage <? extends U> other, BiConsumer <? super T , ? super U> action, Executor executor) 从接口CompletionStage复制的描述返回一个新的 CompletionStage,当这个和另一个给定阶段都正常完成时,使用提供的执行器执行,两个结果作为提供的操作的参数。有关异常完成的规则,请参阅CompletionStage文档。- 指定者:
thenAcceptBothAsync在接口CompletionStage<T>中- 类型参数:
U- 其他 CompletionStage 结果的类型- 参数:
other- 另一个 CompletionStageaction- 在完成返回的 CompletionStage 之前执行的操作executor- 用于异步执行的执行程序- 返回:
- 新的 CompletionStage
-
runAfterBoth
从接口CompletionStage复制的描述返回一个新的 CompletionStage,当这个阶段和另一个给定阶段都正常完成时,执行给定的操作。有关异常完成的规则,请参阅CompletionStage文档。- 指定者:
runAfterBoth在接口CompletionStage<T>中- 参数:
other- 另一个 CompletionStageaction- 在完成返回的 CompletionStage 之前执行的操作- 返回:
- 新的 CompletionStage
-
runAfterBothAsync
从接口CompletionStage复制的描述返回一个新的 CompletionStage,当这个和另一个给定阶段都正常完成时,使用这个阶段的默认异步执行工具执行给定的操作。有关异常完成的规则,请参阅CompletionStage文档。- 指定者:
runAfterBothAsync在接口CompletionStage<T>中- 参数:
other- 另一个 CompletionStageaction- 在完成返回的 CompletionStage 之前执行的操作- 返回:
- 新的 CompletionStage
-
runAfterBothAsync
public CompletableFuture <Void > runAfterBothAsync(CompletionStage <?> other, Runnable action, Executor executor) 从接口CompletionStage复制的描述返回一个新的 CompletionStage,当这个阶段和另一个给定阶段都正常完成时,使用提供的执行程序执行给定的操作。有关异常完成的规则,请参阅CompletionStage文档。- 指定者:
runAfterBothAsync在接口CompletionStage<T>中- 参数:
other- 另一个 CompletionStageaction- 在完成返回的 CompletionStage 之前执行的操作executor- 用于异步执行的执行程序- 返回:
- 新的 CompletionStage
-
applyToEither
public <U> CompletableFuture <U> applyToEither(CompletionStage <? extends T > other, Function <? super T , U> fn) 从接口CompletionStage复制的描述返回一个新的 CompletionStage,当这个或另一个给定阶段正常完成时,将以相应的结果作为所提供函数的参数执行。有关异常完成的规则,请参阅CompletionStage文档。- 指定者:
applyToEither在接口CompletionStage<T>中- 类型参数:
U- 函数的返回类型- 参数:
other- 另一个 CompletionStagefn- 用于计算返回的 CompletionStage 值的函数- 返回:
- 新的 CompletionStage
-
applyToEitherAsync
public <U> CompletableFuture <U> applyToEitherAsync(CompletionStage <? extends T > other, Function <? super T , U> fn) 从接口CompletionStage复制的描述返回一个新的 CompletionStage,当这个或另一个给定阶段正常完成时,使用此阶段的默认异步执行工具执行,并将相应的结果作为提供函数的参数。有关异常完成的规则,请参阅CompletionStage文档。- 指定者:
applyToEitherAsync在接口CompletionStage<T>中- 类型参数:
U- 函数的返回类型- 参数:
other- 另一个 CompletionStagefn- 用于计算返回的 CompletionStage 值的函数- 返回:
- 新的 CompletionStage
-
applyToEitherAsync
public <U> CompletableFuture <U> applyToEitherAsync(CompletionStage <? extends T > other, Function <? super T , U> fn, Executor executor) 从接口CompletionStage复制的描述返回一个新的 CompletionStage,当这个或另一个给定阶段正常完成时,使用提供的执行器执行,并将相应的结果作为提供函数的参数。有关异常完成的规则,请参阅CompletionStage文档。- 指定者:
applyToEitherAsync在接口CompletionStage<T>中- 类型参数:
U- 函数的返回类型- 参数:
other- 另一个 CompletionStagefn- 用于计算返回的 CompletionStage 值的函数executor- 用于异步执行的执行程序- 返回:
- 新的 CompletionStage
-
acceptEither
public CompletableFuture <Void > acceptEither(CompletionStage <? extends T > other, Consumer <? super T > action) 从接口CompletionStage复制的描述返回一个新的 CompletionStage,当这个或另一个给定阶段正常完成时,将以相应的结果作为提供的操作的参数执行。有关异常完成的规则,请参阅CompletionStage文档。- 指定者:
acceptEither在接口CompletionStage<T>中- 参数:
other- 另一个 CompletionStageaction- 在完成返回的 CompletionStage 之前执行的操作- 返回:
- 新的 CompletionStage
-
acceptEitherAsync
public CompletableFuture <Void > acceptEitherAsync(CompletionStage <? extends T > other, Consumer <? super T > action) 从接口CompletionStage复制的描述返回一个新的 CompletionStage,当这个或另一个给定阶段正常完成时,使用此阶段的默认异步执行工具执行,并将相应的结果作为提供的操作的参数。有关异常完成的规则,请参阅CompletionStage文档。- 指定者:
acceptEitherAsync在接口CompletionStage<T>中- 参数:
other- 另一个 CompletionStageaction- 在完成返回的 CompletionStage 之前执行的操作- 返回:
- 新的 CompletionStage
-
acceptEitherAsync
public CompletableFuture <Void > acceptEitherAsync(CompletionStage <? extends T > other, Consumer <? super T > action, Executor executor) 从接口CompletionStage复制的描述返回一个新的 CompletionStage,当这个或另一个给定阶段正常完成时,使用提供的执行器执行,并将相应的结果作为提供的操作的参数。有关异常完成的规则,请参阅CompletionStage文档。- 指定者:
acceptEitherAsync在接口CompletionStage<T>中- 参数:
other- 另一个 CompletionStageaction- 在完成返回的 CompletionStage 之前执行的操作executor- 用于异步执行的执行程序- 返回:
- 新的 CompletionStage
-
runAfterEither
从接口CompletionStage复制的描述返回一个新的 CompletionStage,当这个或另一个给定阶段正常完成时,它会执行给定的操作。有关异常完成的规则,请参阅CompletionStage文档。- 指定者:
runAfterEither在接口CompletionStage<T>中- 参数:
other- 另一个 CompletionStageaction- 在完成返回的 CompletionStage 之前执行的操作- 返回:
- 新的 CompletionStage
-
runAfterEitherAsync
从接口CompletionStage复制的描述返回一个新的 CompletionStage,当这个或另一个给定阶段正常完成时,使用这个阶段的默认异步执行工具执行给定的操作。有关异常完成的规则,请参阅CompletionStage文档。- 指定者:
runAfterEitherAsync在接口CompletionStage<T>中- 参数:
other- 另一个 CompletionStageaction- 在完成返回的 CompletionStage 之前执行的操作- 返回:
- 新的 CompletionStage
-
runAfterEitherAsync
public CompletableFuture <Void > runAfterEitherAsync(CompletionStage <?> other, Runnable action, Executor executor) 从接口CompletionStage复制的描述返回一个新的 CompletionStage,当这个或另一个给定阶段正常完成时,使用提供的执行程序执行给定的操作。有关异常完成的规则,请参阅CompletionStage文档。- 指定者:
runAfterEitherAsync在接口CompletionStage<T>中- 参数:
other- 另一个 CompletionStageaction- 在完成返回的 CompletionStage 之前执行的操作executor- 用于异步执行的执行程序- 返回:
- 新的 CompletionStage
-
thenCompose
public <U> CompletableFuture <U> thenCompose(Function <? super T , ? extends CompletionStage <U>> fn) 从接口CompletionStage复制的描述返回一个新的 CompletionStage,它的完成值与给定函数返回的 CompletionStage 相同。当这个阶段正常完成时,给定的函数被调用,这个阶段的结果作为参数,返回另一个 CompletionStage。当该阶段正常完成时,此方法返回的 CompletionStage 将以相同的值完成。
为确保进度,提供的函数必须安排其结果的最终完成。
此方法类似于
Optional.flatMap和Stream.flatMap。有关异常完成的规则,请参阅
CompletionStage文档。- 指定者:
thenCompose在接口CompletionStage<T>中- 类型参数:
U- 返回的 CompletionStage 结果的类型- 参数:
fn- 用于计算另一个 CompletionStage 的函数- 返回:
- 新的 CompletionStage
-
thenComposeAsync
public <U> CompletableFuture <U> thenComposeAsync(Function <? super T , ? extends CompletionStage <U>> fn) 从接口CompletionStage复制的描述给定函数返回的 CompletionStage相同,使用此阶段的默认异步执行工具执行。当这个阶段正常完成时,给定的函数被调用,这个阶段的结果作为参数,返回另一个 CompletionStage。当该阶段正常完成时,此方法返回的 CompletionStage 将以相同的值完成。
为确保进度,提供的函数必须安排其结果的最终完成。
有关异常完成的规则,请参阅
CompletionStage文档。- 指定者:
thenComposeAsync在接口CompletionStage<T>中- 类型参数:
U- 返回的 CompletionStage 结果的类型- 参数:
fn- 用于计算另一个 CompletionStage 的函数- 返回:
- 新的 CompletionStage
-
thenComposeAsync
public <U> CompletableFuture <U> thenComposeAsync(Function <? super T , ? extends CompletionStage <U>> fn, Executor executor) 从接口CompletionStage复制的描述返回一个新的 CompletionStage,它的完成值与给定函数返回的 CompletionStage 相同,使用提供的 Executor 执行。当这个阶段正常完成时,给定的函数被调用,这个阶段的结果作为参数,返回另一个 CompletionStage。当该阶段正常完成时,此方法返回的 CompletionStage 将以相同的值完成。
为确保进度,提供的函数必须安排其结果的最终完成。
有关异常完成的规则,请参阅
CompletionStage文档。- 指定者:
thenComposeAsync在接口CompletionStage<T>中- 类型参数:
U- 返回的 CompletionStage 结果的类型- 参数:
fn- 用于计算另一个 CompletionStage 的函数executor- 用于异步执行的执行程序- 返回:
- 新的 CompletionStage
-
whenComplete
从接口CompletionStage复制的描述返回一个与此阶段具有相同结果或异常的新 CompletionStage,它会在此阶段完成时执行给定的操作。当这个阶段完成时,将调用给定的操作,并将该阶段的结果(如果没有则为
null)和异常(如果没有则为null)作为参数。当动作返回时,返回阶段完成。与方法
handle不同,此方法并非设计用于转换完成结果,因此提供的操作不应引发异常。但是,如果确实如此,则适用以下规则:如果此阶段正常完成但提供的操作抛出异常,则返回的阶段异常完成并出现提供的操作的异常。或者,如果此阶段异常完成并且提供的操作抛出异常,则返回的阶段异常完成并出现此阶段的异常。- 指定者:
whenComplete在接口CompletionStage<T>中- 参数:
action- 要执行的操作- 返回:
- 新的 CompletionStage
-
whenCompleteAsync
从接口CompletionStage复制的描述返回一个与此阶段具有相同结果或异常的新 CompletionStage,当此阶段完成时,它使用此阶段的默认异步执行工具执行给定的操作。当这个阶段完成时,将调用给定的操作,并将该阶段的结果(如果没有则为
null)和异常(如果没有则为null)作为参数。当动作返回时,返回阶段完成。与方法
handleAsync不同,此方法并非设计用于转换完成结果,因此提供的操作不应引发异常。但是,如果确实如此,则适用以下规则:如果此阶段正常完成但提供的操作抛出异常,则返回的阶段异常完成并出现提供的操作的异常。或者,如果此阶段异常完成并且提供的操作抛出异常,则返回的阶段异常完成并出现此阶段的异常。- 指定者:
whenCompleteAsync在接口CompletionStage<T>中- 参数:
action- 要执行的操作- 返回:
- 新的 CompletionStage
-
whenCompleteAsync
public CompletableFuture <T > whenCompleteAsync(BiConsumer <? super T , ? super Throwable > action, Executor executor) 从接口CompletionStage复制的描述返回一个与此阶段具有相同结果或异常的新 CompletionStage,当此阶段完成时,它使用提供的 Executor 执行给定的操作。当这个阶段完成时,将调用给定的操作,并将该阶段的结果(如果没有则为
null)和异常(如果没有则为null)作为参数。当动作返回时,返回阶段完成。与方法
handleAsync不同,此方法并非设计用于转换完成结果,因此提供的操作不应引发异常。但是,如果确实如此,则适用以下规则:如果此阶段正常完成但提供的操作抛出异常,则返回的阶段异常完成并出现提供的操作的异常。或者,如果此阶段异常完成并且提供的操作抛出异常,则返回的阶段异常完成并出现此阶段的异常。- 指定者:
whenCompleteAsync在接口CompletionStage<T>中- 参数:
action- 要执行的操作executor- 用于异步执行的执行程序- 返回:
- 新的 CompletionStage
-
handle
从接口CompletionStage复制的描述返回一个新的 CompletionStage,当此阶段正常或异常完成时,将使用此阶段的结果和异常作为所提供函数的参数执行。当这个阶段完成时,将调用给定的函数,并将该阶段的结果(或
null,如果没有)和异常(或null,如果没有)作为参数,函数的结果用于完成返回的阶段。- 指定者:
handle在接口CompletionStage<T>中- 类型参数:
U- 函数的返回类型- 参数:
fn- 用于计算返回的 CompletionStage 值的函数- 返回:
- 新的 CompletionStage
-
handleAsync
从接口CompletionStage复制的描述返回一个新的 CompletionStage,当这个阶段正常或异常完成时,使用这个阶段的默认异步执行工具执行,这个阶段的结果和异常作为提供函数的参数。当这个阶段完成时,将调用给定的函数,并将该阶段的结果(或
null,如果没有)和异常(或null,如果没有)作为参数,函数的结果用于完成返回的阶段。- 指定者:
handleAsync在接口CompletionStage<T>中- 类型参数:
U- 函数的返回类型- 参数:
fn- 用于计算返回的 CompletionStage 值的函数- 返回:
- 新的 CompletionStage
-
handleAsync
public <U> CompletableFuture <U> handleAsync(BiFunction <? super T , Throwable , ? extends U> fn, Executor executor) 从接口CompletionStage复制的描述返回一个新的 CompletionStage,当此阶段正常或异常完成时,使用提供的执行程序执行该阶段的结果和异常作为提供函数的参数。当这个阶段完成时,将调用给定的函数,并将该阶段的结果(或
null,如果没有)和异常(或null,如果没有)作为参数,函数的结果用于完成返回的阶段。- 指定者:
handleAsync在接口CompletionStage<T>中- 类型参数:
U- 函数的返回类型- 参数:
fn- 用于计算返回的 CompletionStage 值的函数executor- 用于异步执行的执行程序- 返回:
- 新的 CompletionStage
-
toCompletableFuture
返回此 CompletableFuture。- 指定者:
toCompletableFuture在接口CompletionStage<T>中- 返回:
- 这个 CompletableFuture
-
exceptionally
从接口CompletionStage复制的描述返回一个新的 CompletionStage,当此阶段异常完成时,将执行此阶段的异常作为提供函数的参数。否则,如果此阶段正常完成,则返回的阶段也正常完成并具有相同的值。- 指定者:
exceptionally在接口CompletionStage<T>中- 参数:
fn- 如果此 CompletionStage 异常完成,则用于计算返回的 CompletionStage 值的函数- 返回:
- 新的 CompletionStage
-
allOf
返回一个新的 CompletableFuture,它在所有给定的 CompletableFutures 完成时完成。如果任何给定的 CompletableFutures 异常完成,则返回的 CompletableFuture 也会异常完成,并且 CompletionException 将此异常作为其原因。否则,给定 CompletableFuture 的结果(如果有)不会反映在返回的 CompletableFuture 中,但可以通过单独检查它们来获得。如果未提供 CompletableFutures,则返回一个 CompletableFuture 完成值null。此方法的应用之一是在继续执行程序之前等待一组独立的 CompletableFutures 完成,如:
CompletableFuture.allOf(c1, c2, c3).join();。- 参数:
cfs- CompletableFutures- 返回:
- 当所有给定的 CompletableFutures 完成时完成的新 CompletableFuture
- 抛出:
NullPointerException- 如果数组或其任何元素是null
-
anyOf
返回一个新的 CompletableFuture,它在任何给定的 CompletableFutures 完成时完成,结果相同。否则,如果它异常完成,则返回的 CompletableFuture 也会这样做,并且 CompletionException 将此异常作为其原因。如果未提供 CompletableFuture,则返回不完整的CompletableFuture。- 参数:
cfs- CompletableFutures- 返回:
- 一个新的 CompletableFuture,它在完成时以任何给定 CompletableFutures 的结果或异常完成
- 抛出:
NullPointerException- 如果数组或其任何元素是null
-
cancel
public boolean cancel(boolean mayInterruptIfRunning) 如果尚未完成,则使用CancellationException完成此 CompletableFuture。尚未完成的相关 CompletableFutures 也将异常完成,并由此CancellationException导致CompletionException。 -
isCancelled
public boolean isCancelled()如果此 CompletableFuture 在正常完成之前被取消,则返回true。- 指定者:
isCancelled在接口Future<T>中- 返回:
true如果此 CompletableFuture 在正常完成之前被取消
-
isCompletedExceptionally
public boolean isCompletedExceptionally()如果此 CompletableFuture 以任何方式异常完成,则返回true。可能的原因包括取消、completeExceptionally的显式调用以及 CompletionStage 操作的突然终止。- 返回:
true如果这个 CompletableFuture 异常完成
-
obtrudeValue
强制设置或重置方法get()和相关方法随后返回的值,无论是否已完成。此方法仅设计用于错误恢复操作,即使在这种情况下也可能导致使用已建立结果与覆盖结果的持续依赖完成。- 参数:
value- 完成值
-
obtrudeException
强制导致后续调用方法get()和相关方法抛出给定的异常,无论是否已经完成。此方法仅设计用于错误恢复操作,即使在这种情况下也可能导致使用已建立结果与覆盖结果的持续依赖完成。- 参数:
ex- 异常- 抛出:
NullPointerException- 如果异常为空
-
getNumberOfDependents
public int getNumberOfDependents()返回其完成正在等待此 CompletableFuture 完成的 CompletableFuture 的估计数量。此方法设计用于监视系统状态,而不用于同步控制。- 返回:
- 依赖的 CompletableFutures 的数量
-
toString
返回标识此 CompletableFuture 及其完成状态的字符串。括号中的状态包含字符串"Completed Normally"或字符串"Completed Exceptionally"或字符串"Not completed"后跟取决于其完成的 CompletableFutures 的数量(如果有)。 -
newIncompleteFuture
返回一个新的不完整的 CompletableFuture,其类型由 CompletionStage 方法返回。子类通常应该重写此方法以返回与此 CompletableFuture 相同的类的实例。默认实现返回类 CompletableFuture 的实例。- 类型参数:
U- 值的类型- 返回:
- 一个新的 CompletableFuture
- 自从:
- 9
-
defaultExecutor
返回用于未指定执行器的异步方法的默认执行器。如果此类支持多个并行线程,则该类使用ForkJoinPool.commonPool(),否则每个异步任务使用一个线程的执行器。该方法可以在子类中被重写以返回一个至少提供一个独立线程的执行器。- 返回:
- 执行人
- 自从:
- 9
-
copy
返回一个正常完成的新 CompletableFuture,其正常完成时具有与此 CompletableFuture 相同的值。如果此 CompletableFuture 异常完成,则返回的 CompletableFuture 异常完成,并带有 CompletionException,此异常作为原因。该行为等同于thenApply(x -> x)。此方法可用作“防御性复制”的一种形式,以防止客户端完成,同时仍然能够安排相关操作。- 返回:
- 新的 CompletableFuture
- 自从:
- 9
-
minimalCompletionStage
返回一个正常完成的新 CompletionStage,其正常完成时具有与此 CompletableFuture 相同的值,并且不能独立完成或以接口CompletionStage的方法未定义的方式使用。如果此 CompletableFuture 异常完成,则返回的 CompletionStage 异常完成,并带有 CompletionException,此异常作为原因。除非被子类覆盖,否则可以通过
toCompletableFuture()从最小的 CompletionStage 获得一个具有所有可用方法的新的非最小 CompletableFuture。例如,可以等待最小阶段的完成minimalStage.toCompletableFuture().join();- 返回:
- 新的 CompletionStage
- 自从:
- 9
-
completeAsync
使用给定的执行程序从异步任务调用的给定供应商函数的结果完成此 CompletableFuture。- 参数:
supplier- 返回用于完成此 CompletableFuture 的值的函数executor- 用于异步执行的执行程序- 返回:
- 这个 CompletableFuture
- 自从:
- 9
-
completeAsync
使用默认执行程序从异步任务调用的给定 Supplier 函数的结果完成此 CompletableFuture。- 参数:
supplier- 返回用于完成此 CompletableFuture 的值的函数- 返回:
- 这个 CompletableFuture
- 自从:
- 9
-
orTimeout
如果在给定的超时之前没有以其他方式完成,则使用TimeoutException异常地完成此 CompletableFuture。- 参数:
timeout- 以unit为单位异常完成 TimeoutException 之前等待多长时间unit- 一个TimeUnit决定如何解释timeout参数- 返回:
- 这个 CompletableFuture
- 自从:
- 9
-
completeOnTimeout
如果在给定超时之前未以其他方式完成,则使用给定值完成此 CompletableFuture。- 参数:
value- 超时时使用的值timeout- 使用给定值正常完成之前等待的时间,以unit为单位unit- 一个TimeUnit决定如何解释timeout参数- 返回:
- 这个 CompletableFuture
- 自从:
- 9
-
delayedExecutor
返回一个新的 Executor,它在给定的延迟后(如果为非正则则不延迟)向给定的基本执行器提交任务。每个延迟都在调用返回的执行程序的execute方法时开始。- 参数:
delay- 延迟多长时间,以unit为单位unit- 一个TimeUnit确定如何解释delay参数executor- 基础执行者- 返回:
- 新的延迟执行人
- 自从:
- 9
-
delayedExecutor
返回一个新的 Executor,它在给定的延迟(如果为非正数则没有延迟)后将任务提交给默认执行器。每个延迟都在调用返回的执行程序的execute方法时开始。- 参数:
delay- 延迟多长时间,以unit为单位unit- 一个TimeUnit确定如何解释delay参数- 返回:
- 新的延迟执行人
- 自从:
- 9
-
completedStage
返回一个新的 CompletionStage,它已经用给定的值完成并且只支持接口CompletionStage中的那些方法。- 类型参数:
U- 值的类型- 参数:
value- 值- 返回:
- 完成的 CompletionStage
- 自从:
- 9
-
failedFuture
返回一个新的 CompletableFuture,它已经异常完成并出现给定的异常。- 类型参数:
U- 值的类型- 参数:
ex- 异常- 返回:
- 异常完成的 CompletableFuture
- 自从:
- 9
-
failedStage
返回一个新的 CompletionStage,它已经异常完成并出现给定的异常,并且仅支持接口CompletionStage中的那些方法。- 类型参数:
U- 值的类型- 参数:
ex- 异常- 返回:
- 异常完成的 CompletionStage
- 自从:
- 9
-