public class CompletableFuture<T> extends Object implements Future<T>, CompletionStage<T>
Future
可以明确完成(设定其价值和地位),可作为
CompletionStage
,支持相关的功能和作用,触发后。
当两个或多个线程尝试complete
,completeExceptionally
,或cancel
一completablefuture,其中只有一个成功。
直接操纵的状态和结果除了这些和相关的方法,completablefuture实行以下政策接口CompletionStage
:
ForkJoinPool.commonPool()
进行(除非它不支持至少两个,在这种情况下,一个新的线程是并行度)。为了简化监测、调试、跟踪,所有生成的异步任务的标记接口CompletableFuture.AsynchronousCompletionTask
实例。completablefuture还实现了Future
以下政策:
FutureTask
)这类没有结束,使其完成计算的直接控制,消除被视为只是另一种形式的出色的完成。方法cancel
具有相同的效果completeExceptionally(new CancellationException())
。方法isCompletedExceptionally()
可以用来确定一个completablefuture在任何特殊的方式完成。get()
和get(long, TimeUnit)
抛出ExecutionException
具有相同的原因在相应的completionexception举行。为了简化在大多数情况下使用,这类还定义了方法join()
和getNow(T)
,相反把completionexception直接在这些情况下。Modifier and Type | Class and Description |
---|---|
static interface |
CompletableFuture.AsynchronousCompletionTask
一个标记接口识别异步任务的
async 方法产生。
|
Constructor and Description |
---|
CompletableFuture()
创建一个新的不完全completablefuture。
|
Modifier and Type | Method and Description |
---|---|
CompletableFuture<Void> |
acceptEither(CompletionStage<? extends T> other, Consumer<? super T> action)
返回一个新的completionstage,当这种或其他特定阶段的正常完成,执行相应的结果作为参数提供的行动。
|
CompletableFuture<Void> |
acceptEitherAsync(CompletionStage<? extends T> other, Consumer<? super T> action)
返回一个新的completionstage,当这种或其他特定阶段的正常完成,利用这个阶段的默认的异步执行机构执行,与相应的结果作为参数提供的行动。
|
CompletableFuture<Void> |
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,当这种或其他特定阶段的正常完成,使用提供的遗嘱执行人执行,与相应的结果作为参数提供的功能。
|
boolean |
cancel(boolean mayInterruptIfRunning)
如果不是已经完成,完成这一
CancellationException completablefuture。
|
boolean |
complete(T value)
如果不是已经完成,集返回的值
get() 和相关方法对给定值。
|
static <U> CompletableFuture<U> |
completedFuture(U value)
返回一个新的completablefuture已经完成与给定值。
|
boolean |
completeExceptionally(Throwable ex)
如果不是已经完成,原因
get() 调用和相关的方法把给定异常。
|
CompletableFuture<T> |
exceptionally(Function<Throwable,? extends T> fn)
返回一个新的completablefuture,完成这completablefuture完成时,随着异常触发这completablefuture完成时完成给定的功能异常的结果;否则,如果这completablefuture正常结束,然后返回completablefuture也正常完成相同的值的。
|
T |
get()
等待,如果必要的,为这个未来完成,然后返回其结果。
|
T |
get(long timeout, TimeUnit unit)
如果需要的话,在大多数给定的时间为这个未来完成,然后返回其结果,如果可用。
|
T |
getNow(T valueIfAbsent)
返回值(或抛出任何遇到的例外)如果完成,否则返回给定的valueifabsent。
|
int |
getNumberOfDependents()
返回的completablefutures完井等待完成这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 |
isCancelled()
返回
true 如果这completablefuture取消了之前完成正常。
|
boolean |
isCompletedExceptionally()
返回
true 如果这completablefuture完成的异常,以任何方式。
|
boolean |
isDone()
返回
true 如果以任何方式完成:正常,异常,或通过取消。
|
T |
join()
当完成时返回结果值,或抛出一个(未检查的)异常,如果完成异常。
|
void |
obtrudeException(Throwable ex)
强行使后续的方法
get() 调用和相关的方法把给定异常,是否已经完成。
|
void |
obtrudeValue(T value)
强行设置或重置价值随后返回的方法
get() 和相关方法,是否已经完成。
|
CompletableFuture<Void> |
runAfterBoth(CompletionStage<?> other, Runnable action)
返回一个新的completionstage,当和其他阶段都正常完成,执行特定动作。
|
CompletableFuture<Void> |
runAfterBothAsync(CompletionStage<?> other, Runnable action)
返回一个新的completionstage,当这种和其他特定阶段的正常完成,利用这个阶段的默认的异步执行机构执行特定动作。
|
CompletableFuture<Void> |
runAfterBothAsync(CompletionStage<?> other, Runnable action, Executor executor)
返回一个新的completionstage,当这种和其他特定阶段的正常完成,执行给定的操作使用提供的遗嘱执行人看到规则覆盖出色的完成
CompletionStage 文档。
|
CompletableFuture<Void> |
runAfterEither(CompletionStage<?> other, Runnable action)
返回一个新的completionstage,当这种或其他特定阶段的正常完成,执行特定动作。
|
CompletableFuture<Void> |
runAfterEitherAsync(CompletionStage<?> other, Runnable action)
返回一个新的completionstage,当这种或其他特定阶段的正常完成,利用这个阶段的默认的异步执行机构执行特定动作。
|
CompletableFuture<Void> |
runAfterEitherAsync(CompletionStage<?> other, Runnable action, Executor executor)
返回一个新的completionstage,当这种或其他特定阶段的正常完成,执行给定的操作使用提供的遗嘱执行人。
|
static CompletableFuture<Void> |
runAsync(Runnable runnable)
返回一个新的completablefuture是由一个任务运行在
ForkJoinPool.commonPool() 它运行的特定动作完成后异步。
|
static CompletableFuture<Void> |
runAsync(Runnable runnable, Executor executor)
返回一个新的completablefuture是由一个任务运行在给定的执行器运行了异步完成动作后。
|
static <U> CompletableFuture<U> |
supplyAsync(Supplier<U> supplier)
返回一个新的completablefuture是由任务通过调用给定的供应商获得的价值
ForkJoinPool.commonPool() 异步运行完成。
|
static <U> CompletableFuture<U> |
supplyAsync(Supplier<U> supplier, Executor executor)
返回一个新的completablefuture是由任务在给定的执行器通过调用给定的供应商获得的值异步运行完成。
|
CompletableFuture<Void> |
thenAccept(Consumer<? super T> action)
返回一个新的completionstage,当此阶段完成正常的情况下,执行这一阶段的结果作为参数提供的行动。
|
CompletableFuture<Void> |
thenAcceptAsync(Consumer<? super T> action)
返回一个新的completionstage,当此阶段完成这个阶段通常使用默认的异步执行机构执行,这一阶段的结果作为参数提供的行动。
|
CompletableFuture<Void> |
thenAcceptAsync(Consumer<? super T> action, Executor executor)
返回一个新的completionstage,当此阶段完成通常是使用提供的遗嘱执行人执行,这个阶段的结果作为参数提供的行动。
|
<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> |
thenApply(Function<? super T,? extends U> fn)
返回一个新的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,当此阶段完成通常是使用提供的遗嘱执行人执行,这个阶段的结果作为参数提供的功能。
|
<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,当此阶段完成正常的情况下,执行这一阶段作为参数提供的功能。
|
<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,当此阶段完成通常是使用提供的遗嘱执行人执行,这个阶段的结果作为参数提供的功能。
|
CompletableFuture<Void> |
thenRun(Runnable action)
返回一个新的completionstage,当此阶段完成通常执行特定动作。
|
CompletableFuture<Void> |
thenRunAsync(Runnable action)
返回一个新的completionstage,当此阶段完成这个阶段通常使用默认的异步执行机构执行特定动作。
|
CompletableFuture<Void> |
thenRunAsync(Runnable action, Executor executor)
返回一个新的completionstage,当此阶段完成正常的情况下,使用提供的遗嘱执行人执行特定动作。
|
CompletableFuture<T> |
toCompletableFuture()
返回此completablefuture
|
String |
toString()
返回一个标识completablefuture字符串,以及它的完成状态。
|
CompletableFuture<T> |
whenComplete(BiConsumer<? super T,? super Throwable> action)
返回相同的结果或例外,这一阶段的新completionstage,这个阶段完成时,执行特定动作的结果(或
null 如果没有)和异常(或
null 如果没有)这个阶段。
|
CompletableFuture<T> |
whenCompleteAsync(BiConsumer<? super T,? super Throwable> action)
返回相同的结果或例外,这一阶段的新completionstage,这个阶段完成时,执行特定动作执行给定的操作这一阶段的默认的异步执行设施,其结果(或
null 如果没有)和异常(或
null 如果没有)这个阶段作为参数。
|
CompletableFuture<T> |
whenCompleteAsync(BiConsumer<? super T,? super Throwable> action, Executor executor)
返回相同的结果或例外,这一阶段的新completionstage,这个阶段完成时,执行使用所提供的遗嘱执行人,给出的行动与结果(或
null 如果没有)和异常(或
null 如果没有)这个阶段作为参数。
|
public static <U> CompletableFuture<U> supplyAsync(Supplier<U> supplier)
ForkJoinPool.commonPool()
异步运行完成。
U
-函数的返回类型
supplier
-返回值的函数被用来完成返回completablefuture
public static <U> CompletableFuture<U> supplyAsync(Supplier<U> supplier, Executor executor)
U
-函数的返回类型
supplier
-返回值的函数被用来完成返回completablefuture
executor
-执行器用于异步执行
public static CompletableFuture<Void> runAsync(Runnable runnable)
ForkJoinPool.commonPool()
它运行的特定动作完成后异步。
runnable
-运行完成返回completablefuture行动前
public static CompletableFuture<Void> runAsync(Runnable runnable, Executor executor)
runnable
-运行完成返回completablefuture行动前
executor
-执行器用于异步执行
public static <U> CompletableFuture<U> completedFuture(U value)
U
-的值的类型
value
-价值
public boolean isDone()
true
如果以任何方式完成:正常,异常,或通过取消。
public T get() throws InterruptedException, ExecutionException
get
接口
Future<T>
CancellationException
-如果这未来被取消
ExecutionException
如果未来完成的异常
InterruptedException
-如果当前线程被中断等待
public T get(long timeout, TimeUnit unit) throws InterruptedException, ExecutionException, TimeoutException
get
接口
Future<T>
timeout
-最大等待时间
unit
- timeout参数的时间单位
CancellationException
-如果这未来被取消
ExecutionException
如果未来完成的异常
InterruptedException
-如果当前线程被中断等待
TimeoutException
如果等待超时
public T join()
CompletionException
。
CancellationException
如果计算被取消
CompletionException
-如果这本完成的异常或完成计算抛出一个异常
public T getNow(T valueIfAbsent)
valueIfAbsent
-返回如果没有完成的价值
CancellationException
如果计算被取消
CompletionException
-如果这本完成的异常或完成计算抛出一个异常
public boolean complete(T value)
get()
和相关方法对给定值。
value
结果值
true
如果调用造成的completablefuture对已完成状态转换,否则
false
public boolean completeExceptionally(Throwable ex)
get()
调用和相关的方法把给定异常。
ex
-例外
true
如果调用造成的completablefuture对已完成状态转换,否则
false
public <U> CompletableFuture<U> thenApply(Function<? super T,? extends U> fn)
CompletionStage
CompletionStage
文档。
thenApply
接口
CompletionStage<T>
U
-函数的返回类型
fn
-函数用于计算返回的值completionstage
public <U> CompletableFuture<U> thenApplyAsync(Function<? super T,? extends U> fn)
CompletionStage
CompletionStage
文档。
thenApplyAsync
接口
CompletionStage<T>
U
-函数的返回类型
fn
-函数用于计算返回的值completionstage
public <U> CompletableFuture<U> thenApplyAsync(Function<? super T,? extends U> fn, Executor executor)
CompletionStage
CompletionStage
文档。
thenApplyAsync
接口
CompletionStage<T>
U
-函数的返回类型
fn
-函数用于计算返回的值completionstage
executor
-执行器用于异步执行
public CompletableFuture<Void> thenAccept(Consumer<? super T> action)
CompletionStage
CompletionStage
文档。
thenAccept
接口
CompletionStage<T>
action
-完成返回completionstage之前执行的动作
public CompletableFuture<Void> thenAcceptAsync(Consumer<? super T> action)
CompletionStage
CompletionStage
文档。
thenAcceptAsync
接口
CompletionStage<T>
action
-完成返回completionstage之前执行的动作
public CompletableFuture<Void> thenAcceptAsync(Consumer<? super T> action, Executor executor)
CompletionStage
CompletionStage
文档。
thenAcceptAsync
接口
CompletionStage<T>
action
-完成返回completionstage之前执行的动作
executor
-执行器用于异步执行
public CompletableFuture<Void> thenRun(Runnable action)
CompletionStage
CompletionStage
文档。
thenRun
接口
CompletionStage<T>
action
-完成返回completionstage之前执行的动作
public CompletableFuture<Void> thenRunAsync(Runnable action)
CompletionStage
CompletionStage
文档。
thenRunAsync
接口
CompletionStage<T>
action
-完成返回completionstage之前执行的动作
public CompletableFuture<Void> thenRunAsync(Runnable action, Executor executor)
CompletionStage
CompletionStage
文档。
thenRunAsync
接口
CompletionStage<T>
action
-完成返回completionstage之前执行的动作
executor
-执行器用于异步执行
public <U,V> CompletableFuture<V> thenCombine(CompletionStage<? extends U> other, BiFunction<? super T,? super U,? extends V> fn)
CompletionStage
CompletionStage
文档。
thenCombine
接口
CompletionStage<T>
U
-其他completionstage的类型的结果
V
-函数的返回类型
other
-其他completionstage
fn
-函数用于计算返回的值completionstage
public <U,V> CompletableFuture<V> thenCombineAsync(CompletionStage<? extends U> other, BiFunction<? super T,? super U,? extends V> fn)
CompletionStage
CompletionStage
文档。
thenCombineAsync
接口
CompletionStage<T>
U
-其他completionstage的类型的结果
V
-函数的返回类型
other
-其他completionstage
fn
-函数用于计算返回的值completionstage
public <U,V> CompletableFuture<V> thenCombineAsync(CompletionStage<? extends U> other, BiFunction<? super T,? super U,? extends V> fn, Executor executor)
CompletionStage
CompletionStage
文档。
thenCombineAsync
接口
CompletionStage<T>
U
-其他completionstage的类型的结果
V
-函数的返回类型
other
-其他completionstage
fn
-函数用于计算返回的值completionstage
executor
-执行器用于异步执行
public <U> CompletableFuture<Void> thenAcceptBoth(CompletionStage<? extends U> other, BiConsumer<? super T,? super U> action)
CompletionStage
CompletionStage
文档。
thenAcceptBoth
接口
CompletionStage<T>
U
-其他completionstage的类型的结果
other
-其他completionstage
action
-完成返回completionstage之前执行的动作
public <U> CompletableFuture<Void> thenAcceptBothAsync(CompletionStage<? extends U> other, BiConsumer<? super T,? super U> action)
CompletionStage
thenAcceptBothAsync
接口
CompletionStage<T>
U
-其他completionstage的类型的结果
other
-其他completionstage
action
-完成返回completionstage之前执行的动作
public <U> CompletableFuture<Void> thenAcceptBothAsync(CompletionStage<? extends U> other, BiConsumer<? super T,? super U> action, Executor executor)
CompletionStage
thenAcceptBothAsync
接口
CompletionStage<T>
U
-其他completionstage的类型的结果
other
-其他completionstage
action
-完成返回completionstage之前执行的动作
executor
-执行器用于异步执行
public CompletableFuture<Void> runAfterBoth(CompletionStage<?> other, Runnable action)
CompletionStage
CompletionStage
文档。
runAfterBoth
接口
CompletionStage<T>
other
-其他completionstage
action
-完成返回completionstage之前执行的动作
public CompletableFuture<Void> runAfterBothAsync(CompletionStage<?> other, Runnable action)
CompletionStage
CompletionStage
文档。
runAfterBothAsync
接口
CompletionStage<T>
other
-其他completionstage
action
-完成返回completionstage之前执行的动作
public CompletableFuture<Void> runAfterBothAsync(CompletionStage<?> other, Runnable action, Executor executor)
CompletionStage
CompletionStage
文档。
runAfterBothAsync
接口
CompletionStage<T>
other
-其他completionstage
action
-完成返回completionstage之前执行的动作
executor
-执行器用于异步执行
public <U> CompletableFuture<U> applyToEither(CompletionStage<? extends T> other, Function<? super T,U> fn)
CompletionStage
CompletionStage
文档。
applyToEither
接口
CompletionStage<T>
U
-函数的返回类型
other
-其他completionstage
fn
-函数用于计算返回的值completionstage
public <U> CompletableFuture<U> applyToEitherAsync(CompletionStage<? extends T> other, Function<? super T,U> fn)
CompletionStage
CompletionStage
文档完成覆盖特殊规则。
applyToEitherAsync
接口
CompletionStage<T>
U
-函数的返回类型
other
-其他completionstage
fn
-函数用于计算返回的值completionstage
public <U> CompletableFuture<U> applyToEitherAsync(CompletionStage<? extends T> other, Function<? super T,U> fn, Executor executor)
CompletionStage
CompletionStage
文档。
applyToEitherAsync
接口
CompletionStage<T>
U
-函数的返回类型
other
-其他completionstage
fn
-函数用于计算返回的值completionstage
executor
-执行器用于异步执行
public CompletableFuture<Void> acceptEither(CompletionStage<? extends T> other, Consumer<? super T> action)
CompletionStage
CompletionStage
文档。
acceptEither
接口
CompletionStage<T>
other
-其他completionstage
action
-完成返回completionstage之前执行的动作
public CompletableFuture<Void> acceptEitherAsync(CompletionStage<? extends T> other, Consumer<? super T> action)
CompletionStage
CompletionStage
文档。
acceptEitherAsync
接口
CompletionStage<T>
other
-其他completionstage
action
-完成返回completionstage之前执行的动作
public CompletableFuture<Void> acceptEitherAsync(CompletionStage<? extends T> other, Consumer<? super T> action, Executor executor)
CompletionStage
CompletionStage
文档。
acceptEitherAsync
接口
CompletionStage<T>
other
-其他completionstage
action
-完成返回completionstage之前执行的动作
executor
-执行器用于异步执行
public CompletableFuture<Void> runAfterEither(CompletionStage<?> other, Runnable action)
CompletionStage
CompletionStage
文档。
runAfterEither
接口
CompletionStage<T>
other
-其他completionstage
action
-完成返回completionstage之前执行的动作
public CompletableFuture<Void> runAfterEitherAsync(CompletionStage<?> other, Runnable action)
CompletionStage
CompletionStage
文档。
runAfterEitherAsync
接口
CompletionStage<T>
other
-其他completionstage
action
-完成返回completionstage之前执行的动作
public CompletableFuture<Void> runAfterEitherAsync(CompletionStage<?> other, Runnable action, Executor executor)
CompletionStage
CompletionStage
文档。
runAfterEitherAsync
接口
CompletionStage<T>
other
-其他completionstage
action
-完成返回completionstage之前执行的动作
executor
-执行器用于异步执行
public <U> CompletableFuture<U> thenCompose(Function<? super T,? extends CompletionStage<U>> fn)
CompletionStage
CompletionStage
文档。
thenCompose
接口
CompletionStage<T>
U
-返回的结果completionstage类型
fn
-函数返回一个新的completionstage
public <U> CompletableFuture<U> thenComposeAsync(Function<? super T,? extends CompletionStage<U>> fn)
CompletionStage
CompletionStage
文档。
thenComposeAsync
接口
CompletionStage<T>
U
-返回的结果completionstage类型
fn
-函数返回一个新的completionstage
public <U> CompletableFuture<U> thenComposeAsync(Function<? super T,? extends CompletionStage<U>> fn, Executor executor)
CompletionStage
CompletionStage
文档。
thenComposeAsync
接口
CompletionStage<T>
U
-返回的结果completionstage类型
fn
-函数返回一个新的completionstage
executor
-执行器用于异步执行
public CompletableFuture<T> whenComplete(BiConsumer<? super T,? super Throwable> action)
CompletionStage
null
如果没有)和异常(或
null
如果没有)这个阶段。
whenComplete
接口
CompletionStage<T>
action
-执行的动作
public CompletableFuture<T> whenCompleteAsync(BiConsumer<? super T,? super Throwable> action)
CompletionStage
null
如果没有)和异常(或
null
如果没有)这个阶段作为参数。
whenCompleteAsync
接口
CompletionStage<T>
action
-执行的动作
public CompletableFuture<T> whenCompleteAsync(BiConsumer<? super T,? super Throwable> action, Executor executor)
CompletionStage
null
如果没有)和异常(或
null
如果没有)这个阶段作为参数。
whenCompleteAsync
接口
CompletionStage<T>
action
-执行的动作
executor
-执行器用于异步执行
public <U> CompletableFuture<U> handle(BiFunction<? super T,Throwable,? extends U> fn)
CompletionStage
null
如果没有)和异常(或
null
如果没有)本阶段完成时作为参数。
handle
接口
CompletionStage<T>
U
-函数的返回类型
fn
-函数用于计算返回的值completionstage
public <U> CompletableFuture<U> handleAsync(BiFunction<? super T,Throwable,? extends U> fn)
CompletionStage
null
如果没有)和异常(或
null
如果没有)本阶段完成时作为参数。
handleAsync
接口
CompletionStage<T>
U
-函数的返回类型
fn
-函数用于计算返回的值completionstage
public <U> CompletableFuture<U> handleAsync(BiFunction<? super T,Throwable,? extends U> fn, Executor executor)
CompletionStage
null
如果没有)和异常(或
null
如果没有)本阶段完成时作为参数。
handleAsync
接口
CompletionStage<T>
U
-函数的返回类型
fn
-函数用于计算返回的值completionstage
executor
-执行器用于异步执行
public CompletableFuture<T> toCompletableFuture()
toCompletableFuture
接口
CompletionStage<T>
public CompletableFuture<T> exceptionally(Function<Throwable,? extends T> fn)
whenComplete
和
handle
。
exceptionally
接口
CompletionStage<T>
fn
-函数用于计算返回的completablefuture价值如果completablefuture完成的异常
public static CompletableFuture<Void> allOf(CompletableFuture<?>... cfs)
null
该方法的应用之一是等待一套独立的completablefutures完成前继续程序,如:CompletableFuture.allOf(c1, c2, c3).join();
。
cfs
- completablefutures
NullPointerException
-如果数组或其任何元素
null
public static CompletableFuture<Object> anyOf(CompletableFuture<?>... cfs)
cfs
- completablefutures
NullPointerException
-如果数组或其任何元素
null
public boolean cancel(boolean mayInterruptIfRunning)
CancellationException
completablefuture。依赖completablefutures,尚未完成也将完成一个
CompletionException
异常,这
CancellationException
引起。
public boolean isCancelled()
true
如果这completablefuture取消了之前完成正常。
isCancelled
接口
Future<T>
true
completablefuture之前取消正常完成
public boolean isCompletedExceptionally()
true
如果这completablefuture完成的异常,以任何方式。可能的原因包括取消,
completeExceptionally
显式调用的,和一个completionstage行动突然终止。
true
completablefuture完成的异常
public void obtrudeValue(T value)
get()
和相关方法,是否已经完成。这种方法是设计用于在错误恢复的行动,甚至在这种情况下,可能会导致持续的依赖完成建立与覆盖效果。
value
完成-价值
public void obtrudeException(Throwable ex)
get()
调用和相关的方法把给定异常,是否已经完成。这种方法是设计用于在恢复操作,即使在这种情况下,可能会导致持续的依赖完成建立与覆盖效果。
ex
-例外
public int getNumberOfDependents()
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.