Spec-Zone .ru
спецификации, руководства, описания, API
|
public class CompletableFuture<T> extends Object implements Future<T>
Future
это может быть явно завершено (установка его значения и состояния), и может включать зависимые функции и действия, которые инициировали после его завершения. Когда два или больше потока пытаются к complete
, completeExceptionally
, или cancel
CompletableFuture, только один из них успешно выполняется.
Методы доступны для добавления иждивенцев, основанных на предоставленных пользователем Функциях, Потребителях, или Runnables. Соответствующая форма, чтобы использовать зависит от того, требуют ли действия параметров и/или приводят к результатам. Завершение зависимого действия инициирует завершение другого CompletableFuture. Действия могут также быть инициированы после или или и ток и другой полный CompletableFuture. Многократный CompletableFutures может также быть сгруппирован как одно использование anyOf(CompletableFuture...)
и allOf(CompletableFuture...)
.
Сами CompletableFutures не выполняются асинхронно. Однако, действия, предоставленные для зависимых завершений другого CompletableFuture, могут сделать так, в зависимости от того, обеспечивают ли им через один из асинхронных методов (то есть, методов с именами формы xxxAsync). Асинхронные методы обеспечивают способ начать асинхронную обработку действия, используя любого данный Executor
или по умолчанию ForkJoinPool.commonPool()
. Чтобы упростить контроль, отладку, и отслеживание, всеми сгенерированными асинхронными задачами являются экземпляры интерфейса маркера CompletableFuture.AsynchronousCompletionTask
.
Действия, предоставленные для зависимых завершений неасинхронных методов, могут быть выполнены потоком, который завершает текущий CompletableFuture, или любой другой вызывающей стороной этих методов. Нет никаких гарантий о порядке обработки завершений если не ограничено этими методами.
С тех пор (в отличие от этого FutureTask
) у этого class нет никакого прямого управления вычислением, которое заставляет его быть завершенным, отмена обрабатывается как только другая форма исключительного завершения. Метод cancel
имеет тот же самый эффект как completeExceptionally(new CancellationException())
.
После исключительного завершения (включая отмену), или когда завершение влечет за собой дополнительное вычисление, которое завершается резко с исключением (непроверенным) или ошибкой, тогда все их зависимые завершения (и их иждивенцы поочередно) обычно действуют как completeExceptionally
с a CompletionException
содержание того исключения как его причина. Однако, exceptionally
и handle
завершения в состоянии обработать исключительные завершения CompletableFutures, от которого они зависят.
В случае исключительного завершения с CompletionException, методами get()
и get(long, TimeUnit)
бросьте ExecutionException
с той же самой причиной как сохранено в соответствующем CompletionException. Однако, в этих случаях, методах join()
и getNow(T)
бросьте CompletionException, который упрощает использование.
Параметры, используемые, чтобы передать результат завершения (то есть, для параметров типа T
) может быть нуль, но передача нулевого значения для любого другого параметра приведет к a NullPointerException
быть брошенным.
Модификатор и Тип | Класс и Описание |
---|---|
static interface |
CompletableFuture.AsynchronousCompletionTask
Интерфейс маркера, идентифицирующий асинхронные задачи, произведенные
async методы. |
Конструктор и Описание |
---|
CompletableFuture()
Создает новый неполный CompletableFuture.
|
Модификатор и Тип | Метод и Описание |
---|---|
CompletableFuture<Void> |
acceptEither(CompletableFuture<? extends T> other, Consumer<? super T> block)
Возвращает новый CompletableFuture, который завершается, когда или это или другой данный CompletableFuture завершаются после выполнения данного действия с результатом или этого или результата другого CompletableFuture.
|
CompletableFuture<Void> |
acceptEitherAsync(CompletableFuture<? extends T> other, Consumer<? super T> block)
Возвращает новый CompletableFuture, который асинхронно завершается, когда или это или другой данный CompletableFuture завершаются после выполнения данного действия с результатом или этого или следствия другого CompletableFuture задачи, работающей в
ForkJoinPool.commonPool() . |
CompletableFuture<Void> |
acceptEitherAsync(CompletableFuture<? extends T> other, Consumer<? super T> block, Executor executor)
Возвращает новый CompletableFuture, который асинхронно завершается, когда или это или другой данный CompletableFuture завершаются после выполнения данного действия с результатом или этого или следствия другого CompletableFuture задачи, работающей в данном исполнителе.
|
static CompletableFuture<Void> |
allOf(CompletableFuture<?>... cfs)
Возвращает новый CompletableFuture, который завершается, когда все данные CompletableFutures завершаются.
|
static CompletableFuture<Object> |
anyOf(CompletableFuture<?>... cfs)
Возвращает новый CompletableFuture, который завершается когда любой из данных полных CompletableFutures с тем же самым результатом.
|
<U> CompletableFuture<U> |
applyToEither(CompletableFuture<? extends T> other, Function<? super T,U> fn)
Возвращает новый CompletableFuture, который завершается, когда или это или другой данный CompletableFuture завершаются с результатом заданной функции или этого или результата другого CompletableFuture.
|
<U> CompletableFuture<U> |
applyToEitherAsync(CompletableFuture<? extends T> other, Function<? super T,U> fn)
Возвращает новый CompletableFuture, который асинхронно завершается, когда или это или другой данный CompletableFuture завершаются с результатом заданной функции или этого или следствия другого CompletableFuture задачи, работающей в
ForkJoinPool.commonPool() . |
<U> CompletableFuture<U> |
applyToEitherAsync(CompletableFuture<? extends T> other, Function<? super T,U> fn, Executor executor)
Возвращает новый CompletableFuture, который асинхронно завершается, когда или это или другой данный CompletableFuture завершаются с результатом заданной функции или этого или следствия другого CompletableFuture задачи, работающей в данном исполнителе.
|
boolean |
cancel(boolean mayInterruptIfRunning)
Если не уже завершенный, завершает этот CompletableFuture с a
CancellationException . |
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)
Возвращает новый CompletableFuture, который завершается, когда этот CompletableFuture завершается с результатом заданной функции результата и исключения завершения этого CompletableFuture.
|
boolean |
isCancelled()
Возвраты
true если этот CompletableFuture был отменен прежде, чем он обычно завершался. |
boolean |
isDone()
Возвраты
true если завершено любым способом: обычно, исключительно, или через отмену. |
T |
join()
Возвращает значение результата когда завершено, или выдает исключение (непроверенное) если завершено исключительно.
|
void |
obtrudeException(Throwable ex)
Насильственно вызывает последующие вызовы метода
get() и связанные методы, чтобы выдать данное исключение, действительно ли уже завершенный. |
void |
obtrudeValue(T value)
Насильственно наборы или сбросы значение впоследствии возвратились методом
get() и связанные методы, действительно ли уже завершенный. |
CompletableFuture<Void> |
runAfterBoth(CompletableFuture<?> other, Runnable action)
Возвращает новый CompletableFuture, который завершается когда и это и другой данный полный CompletableFuture после выполнения данного действия.
|
CompletableFuture<Void> |
runAfterBothAsync(CompletableFuture<?> other, Runnable action)
Возвращает новый CompletableFuture, который асинхронно завершается когда и это и другой данный полный CompletableFuture после выполнения данного действия от задачи, работающей в
ForkJoinPool.commonPool() . |
CompletableFuture<Void> |
runAfterBothAsync(CompletableFuture<?> other, Runnable action, Executor executor)
Возвращает новый CompletableFuture, который асинхронно завершается когда и это и другой данный полный CompletableFuture после выполнения данного действия от задачи, работающей в данном исполнителе.
|
CompletableFuture<Void> |
runAfterEither(CompletableFuture<?> other, Runnable action)
Возвращает новый CompletableFuture, который завершается, когда или это или другой данный CompletableFuture завершаются после выполнения данного действия.
|
CompletableFuture<Void> |
runAfterEitherAsync(CompletableFuture<?> other, Runnable action)
Возвращает новый CompletableFuture, который асинхронно завершается, когда или это или другой данный CompletableFuture завершаются после выполнения данного действия от задачи, работающей в
ForkJoinPool.commonPool() . |
CompletableFuture<Void> |
runAfterEitherAsync(CompletableFuture<?> other, Runnable action, Executor executor)
Возвращает новый CompletableFuture, который асинхронно завершается, когда или это или другой данный CompletableFuture завершаются после выполнения данного действия от задачи, работающей в данном исполнителе.
|
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> block)
Возвращает новый CompletableFuture, который завершается, когда этот CompletableFuture завершается после выполнения данного действия с результатом этого CompletableFuture.
|
CompletableFuture<Void> |
thenAcceptAsync(Consumer<? super T> block)
Возвращает новый CompletableFuture, который асинхронно завершается, когда этот CompletableFuture завершается после выполнения данного действия со следствием этого CompletableFuture задачи, работающей в
ForkJoinPool.commonPool() . |
CompletableFuture<Void> |
thenAcceptAsync(Consumer<? super T> block, Executor executor)
Возвращает новый CompletableFuture, который асинхронно завершается, когда этот CompletableFuture завершается после выполнения данного действия со следствием этого CompletableFuture задачи, работающей в данном исполнителе.
|
<U> CompletableFuture<Void> |
thenAcceptBoth(CompletableFuture<? extends U> other, BiConsumer<? super T,? super U> block)
Возвращает новый CompletableFuture, который завершается когда и это и другой данный полный CompletableFuture после выполнения данного действия с результатами двух CompletableFutures.
|
<U> CompletableFuture<Void> |
thenAcceptBothAsync(CompletableFuture<? extends U> other, BiConsumer<? super T,? super U> block)
Возвращает новый CompletableFuture, который асинхронно завершается когда и это и другой данный полный CompletableFuture после выполнения данного действия с результатами двух CompletableFutures от задачи, работающей в
ForkJoinPool.commonPool() . |
<U> CompletableFuture<Void> |
thenAcceptBothAsync(CompletableFuture<? extends U> other, BiConsumer<? super T,? super U> block, Executor executor)
Возвращает новый CompletableFuture, который асинхронно завершается когда и это и другой данный полный CompletableFuture после выполнения данного действия с результатами двух CompletableFutures от задачи, работающей в данном исполнителе.
|
<U> CompletableFuture<U> |
thenApply(Function<? super T,? extends U> fn)
Возвращает новый CompletableFuture, который завершается, когда этот CompletableFuture завершается с результатом заданной функции результата этого CompletableFuture.
|
<U> CompletableFuture<U> |
thenApplyAsync(Function<? super T,? extends U> fn)
Возвращает новый CompletableFuture, который асинхронно завершается, когда этот CompletableFuture завершается с результатом заданной функции следствия этого CompletableFuture задачи, работающей в
ForkJoinPool.commonPool() . |
<U> CompletableFuture<U> |
thenApplyAsync(Function<? super T,? extends U> fn, Executor executor)
Возвращает новый CompletableFuture, который асинхронно завершается, когда этот CompletableFuture завершается с результатом заданной функции следствия этого CompletableFuture задачи, работающей в данном исполнителе.
|
<U,V> CompletableFuture<V> |
thenCombine(CompletableFuture<? extends U> other, BiFunction<? super T,? super U,? extends V> fn)
Возвращает новый CompletableFuture, который завершается когда и это и другой данный полный CompletableFuture с результатом заданной функции результатов двух CompletableFutures.
|
<U,V> CompletableFuture<V> |
thenCombineAsync(CompletableFuture<? extends U> other, BiFunction<? super T,? super U,? extends V> fn)
Возвращает новый CompletableFuture, который асинхронно завершается когда и это и другой данный полный CompletableFuture с результатом заданной функции результатов двух CompletableFutures от задачи, работающей в
ForkJoinPool.commonPool() . |
<U,V> CompletableFuture<V> |
thenCombineAsync(CompletableFuture<? extends U> other, BiFunction<? super T,? super U,? extends V> fn, Executor executor)
Возвращает новый CompletableFuture, который асинхронно завершается когда и это и другой данный полный CompletableFuture с результатом заданной функции результатов двух CompletableFutures от задачи, работающей в данном исполнителе.
|
<U> CompletableFuture<U> |
thenCompose(Function<? super T,CompletableFuture<U>> fn)
Возвращает CompletableFuture, что после завершения, имеет то же самое значение как произведено заданной функцией результата этого CompletableFuture.
|
<U> CompletableFuture<U> |
thenComposeAsync(Function<? super T,CompletableFuture<U>> fn)
Возвращает CompletableFuture, что после завершения, имеет то же самое значение, как это произвело асинхронно использование
ForkJoinPool.commonPool() заданной функцией результата этого CompletableFuture. |
<U> CompletableFuture<U> |
thenComposeAsync(Function<? super T,CompletableFuture<U>> fn, Executor executor)
Возвращает CompletableFuture, что после завершения, имеет то же самое значение, как это произвело асинхронно использование данного исполнителя заданной функцией этого CompletableFuture.
|
CompletableFuture<Void> |
thenRun(Runnable action)
Возвращает новый CompletableFuture, который завершается, когда этот CompletableFuture завершается после выполнения данного действия.
|
CompletableFuture<Void> |
thenRunAsync(Runnable action)
Возвращает новый CompletableFuture, который асинхронно завершается, когда этот CompletableFuture завершается после выполнения данного действия от задачи, работающей в
ForkJoinPool.commonPool() . |
CompletableFuture<Void> |
thenRunAsync(Runnable action, Executor executor)
Возвращает новый CompletableFuture, который асинхронно завершается, когда этот CompletableFuture завершается после выполнения данного действия от задачи, работающей в данном исполнителе.
|
Строка |
toString()
Возвращает строку, идентифицирующую этот CompletableFuture, так же как его состояние завершения.
|
public CompletableFuture()
public static <U> CompletableFuture<U> supplyAsync(Supplier<U> supplier)
ForkJoinPool.commonPool()
со значением, полученным, вызывая данного Поставщика.supplier
- функция, возвращая значение, которое будет использоваться, чтобы завершить возвращенный CompletableFuturepublic static <U> CompletableFuture<U> supplyAsync(Supplier<U> supplier, Executor executor)
supplier
- функция, возвращая значение, которое будет использоваться, чтобы завершить возвращенный CompletableFutureexecutor
- исполнитель, чтобы использовать для асинхронного выполненияpublic static CompletableFuture<Void> runAsync(Runnable runnable)
ForkJoinPool.commonPool()
после того, как это выполняет данное действие.runnable
- действие, чтобы работать прежде, чем завершить возвращенный CompletableFuturepublic static CompletableFuture<Void> runAsync(Runnable runnable, Executor executor)
runnable
- действие, чтобы работать прежде, чем завершить возвращенный CompletableFutureexecutor
- исполнитель, чтобы использовать для асинхронного выполненияpublic static <U> CompletableFuture<U> completedFuture(U value)
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
- единица измерения времени параметра тайм-аута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)
Если этот CompletableFuture завершается исключительно, или предоставленная функция выдает исключение, то возвращенный CompletableFuture завершается исключительно с CompletionException, содержащим исключение как его причина.
fn
- функция, чтобы использовать, чтобы вычислить значение возвращенного CompletableFuturepublic <U> CompletableFuture<U> thenApplyAsync(Function<? super T,? extends U> fn)
ForkJoinPool.commonPool()
. Если этот CompletableFuture завершается исключительно, или предоставленная функция выдает исключение, то возвращенный CompletableFuture завершается исключительно с CompletionException, содержащим исключение как его причина.
fn
- функция, чтобы использовать, чтобы вычислить значение возвращенного CompletableFuturepublic <U> CompletableFuture<U> thenApplyAsync(Function<? super T,? extends U> fn, Executor executor)
Если этот CompletableFuture завершается исключительно, или предоставленная функция выдает исключение, то возвращенный CompletableFuture завершается исключительно с CompletionException, содержащим исключение как его причина.
fn
- функция, чтобы использовать, чтобы вычислить значение возвращенного CompletableFutureexecutor
- исполнитель, чтобы использовать для асинхронного выполненияpublic CompletableFuture<Void> thenAccept(Consumer<? super T> block)
Если этот CompletableFuture завершается исключительно, или предоставленное действие выдает исключение, то возвращенный CompletableFuture завершается исключительно с CompletionException, содержащим исключение как его причина.
block
- действие, чтобы выполнить прежде, чем завершить возвращенный CompletableFuturepublic CompletableFuture<Void> thenAcceptAsync(Consumer<? super T> block)
ForkJoinPool.commonPool()
. Если этот CompletableFuture завершается исключительно, или предоставленное действие выдает исключение, то возвращенный CompletableFuture завершается исключительно с CompletionException, содержащим исключение как его причина.
block
- действие, чтобы выполнить прежде, чем завершить возвращенный CompletableFuturepublic CompletableFuture<Void> thenAcceptAsync(Consumer<? super T> block, Executor executor)
Если этот CompletableFuture завершается исключительно, или предоставленное действие выдает исключение, то возвращенный CompletableFuture завершается исключительно с CompletionException, содержащим исключение как его причина.
block
- действие, чтобы выполнить прежде, чем завершить возвращенный CompletableFutureexecutor
- исполнитель, чтобы использовать для асинхронного выполненияpublic CompletableFuture<Void> thenRun(Runnable action)
Если этот CompletableFuture завершается исключительно, или предоставленное действие выдает исключение, то возвращенный CompletableFuture завершается исключительно с CompletionException, содержащим исключение как его причина.
action
- действие, чтобы выполнить прежде, чем завершить возвращенный CompletableFuturepublic CompletableFuture<Void> thenRunAsync(Runnable action)
ForkJoinPool.commonPool()
. Если этот CompletableFuture завершается исключительно, или предоставленное действие выдает исключение, то возвращенный CompletableFuture завершается исключительно с CompletionException, содержащим исключение как его причина.
action
- действие, чтобы выполнить прежде, чем завершить возвращенный CompletableFuturepublic CompletableFuture<Void> thenRunAsync(Runnable action, Executor executor)
Если этот CompletableFuture завершается исключительно, или предоставленное действие выдает исключение, то возвращенный CompletableFuture завершается исключительно с CompletionException, содержащим исключение как его причина.
action
- действие, чтобы выполнить прежде, чем завершить возвращенный CompletableFutureexecutor
- исполнитель, чтобы использовать для асинхронного выполненияpublic <U,V> CompletableFuture<V> thenCombine(CompletableFuture<? extends U> other, BiFunction<? super T,? super U,? extends V> fn)
Если это и/или другой CompletableFuture, полный исключительно, или предоставленная функция, выдают исключение, то возвращенный CompletableFuture завершается исключительно с CompletionException, содержащим исключение как его причина.
other
- другой CompletableFuturefn
- функция, чтобы использовать, чтобы вычислить значение возвращенного CompletableFuturepublic <U,V> CompletableFuture<V> thenCombineAsync(CompletableFuture<? extends U> other, BiFunction<? super T,? super U,? extends V> fn)
ForkJoinPool.commonPool()
. Если это и/или другой CompletableFuture, полный исключительно, или предоставленная функция, выдают исключение, то возвращенный CompletableFuture завершается исключительно с CompletionException, содержащим исключение как его причина.
other
- другой CompletableFuturefn
- функция, чтобы использовать, чтобы вычислить значение возвращенного CompletableFuturepublic <U,V> CompletableFuture<V> thenCombineAsync(CompletableFuture<? extends U> other, BiFunction<? super T,? super U,? extends V> fn, Executor executor)
Если это и/или другой CompletableFuture, полный исключительно, или предоставленная функция, выдают исключение, то возвращенный CompletableFuture завершается исключительно с CompletionException, содержащим исключение как его причина.
other
- другой CompletableFuturefn
- функция, чтобы использовать, чтобы вычислить значение возвращенного CompletableFutureexecutor
- исполнитель, чтобы использовать для асинхронного выполненияpublic <U> CompletableFuture<Void> thenAcceptBoth(CompletableFuture<? extends U> other, BiConsumer<? super T,? super U> block)
Если это и/или другой CompletableFuture, полный исключительно, или предоставленное действие, выдают исключение, то возвращенный CompletableFuture завершается исключительно с CompletionException, содержащим исключение как его причина.
other
- другой CompletableFutureblock
- действие, чтобы выполнить прежде, чем завершить возвращенный CompletableFuturepublic <U> CompletableFuture<Void> thenAcceptBothAsync(CompletableFuture<? extends U> other, BiConsumer<? super T,? super U> block)
ForkJoinPool.commonPool()
. Если это и/или другой CompletableFuture, полный исключительно, или предоставленное действие, выдают исключение, то возвращенный CompletableFuture завершается исключительно с CompletionException, содержащим исключение как его причина.
other
- другой CompletableFutureblock
- действие, чтобы выполнить прежде, чем завершить возвращенный CompletableFuturepublic <U> CompletableFuture<Void> thenAcceptBothAsync(CompletableFuture<? extends U> other, BiConsumer<? super T,? super U> block, Executor executor)
Если это и/или другой CompletableFuture, полный исключительно, или предоставленное действие, выдают исключение, то возвращенный CompletableFuture завершается исключительно с CompletionException, содержащим исключение как его причина.
other
- другой CompletableFutureblock
- действие, чтобы выполнить прежде, чем завершить возвращенный CompletableFutureexecutor
- исполнитель, чтобы использовать для асинхронного выполненияpublic CompletableFuture<Void> runAfterBoth(CompletableFuture<?> other, Runnable action)
Если это и/или другой CompletableFuture, полный исключительно, или предоставленное действие, выдают исключение, то возвращенный CompletableFuture завершается исключительно с CompletionException, содержащим исключение как его причина.
other
- другой CompletableFutureaction
- действие, чтобы выполнить прежде, чем завершить возвращенный CompletableFuturepublic CompletableFuture<Void> runAfterBothAsync(CompletableFuture<?> other, Runnable action)
ForkJoinPool.commonPool()
. Если это и/или другой CompletableFuture, полный исключительно, или предоставленное действие, выдают исключение, то возвращенный CompletableFuture завершается исключительно с CompletionException, содержащим исключение как его причина.
other
- другой CompletableFutureaction
- действие, чтобы выполнить прежде, чем завершить возвращенный CompletableFuturepublic CompletableFuture<Void> runAfterBothAsync(CompletableFuture<?> other, Runnable action, Executor executor)
Если это и/или другой CompletableFuture, полный исключительно, или предоставленное действие, выдают исключение, то возвращенный CompletableFuture завершается исключительно с CompletionException, содержащим исключение как его причина.
other
- другой CompletableFutureaction
- действие, чтобы выполнить прежде, чем завершить возвращенный CompletableFutureexecutor
- исполнитель, чтобы использовать для асинхронного выполненияpublic <U> CompletableFuture<U> applyToEither(CompletableFuture<? extends T> other, Function<? super T,U> fn)
Если это и/или другой CompletableFuture, полный исключительно, то возвращенный CompletableFuture может также сделать так с CompletionException, содержащим одно из этих исключений как его причина. Никакие гарантии не делаются, о котором результат или исключение используются в возвращенном CompletableFuture. Если предоставленная функция выдает исключение, то возвращенный CompletableFuture завершается исключительно с CompletionException, содержащим исключение как его причина.
other
- другой CompletableFuturefn
- функция, чтобы использовать, чтобы вычислить значение возвращенного CompletableFuturepublic <U> CompletableFuture<U> applyToEitherAsync(CompletableFuture<? extends T> other, Function<? super T,U> fn)
ForkJoinPool.commonPool()
. Если это и/или другой CompletableFuture, полный исключительно, то возвращенный CompletableFuture может также сделать так с CompletionException, содержащим одно из этих исключений как его причина. Никакие гарантии не делаются, о котором результат или исключение используются в возвращенном CompletableFuture. Если предоставленная функция выдает исключение, то возвращенный CompletableFuture завершается исключительно с CompletionException, содержащим исключение как его причина.
other
- другой CompletableFuturefn
- функция, чтобы использовать, чтобы вычислить значение возвращенного CompletableFuturepublic <U> CompletableFuture<U> applyToEitherAsync(CompletableFuture<? extends T> other, Function<? super T,U> fn, Executor executor)
Если это и/или другой CompletableFuture, полный исключительно, то возвращенный CompletableFuture может также сделать так с CompletionException, содержащим одно из этих исключений как его причина. Никакие гарантии не делаются, о котором результат или исключение используются в возвращенном CompletableFuture. Если предоставленная функция выдает исключение, то возвращенный CompletableFuture завершается исключительно с CompletionException, содержащим исключение как его причина.
other
- другой CompletableFuturefn
- функция, чтобы использовать, чтобы вычислить значение возвращенного CompletableFutureexecutor
- исполнитель, чтобы использовать для асинхронного выполненияpublic CompletableFuture<Void> acceptEither(CompletableFuture<? extends T> other, Consumer<? super T> block)
Если это и/или другой CompletableFuture, полный исключительно, то возвращенный CompletableFuture может также сделать так с CompletionException, содержащим одно из этих исключений как его причина. Никакие гарантии не делаются, о котором результат или исключение используются в возвращенном CompletableFuture. Если предоставленное действие выдает исключение, то возвращенный CompletableFuture завершается исключительно с CompletionException, содержащим исключение как его причина.
other
- другой CompletableFutureblock
- действие, чтобы выполнить прежде, чем завершить возвращенный CompletableFuturepublic CompletableFuture<Void> acceptEitherAsync(CompletableFuture<? extends T> other, Consumer<? super T> block)
ForkJoinPool.commonPool()
. Если это и/или другой CompletableFuture, полный исключительно, то возвращенный CompletableFuture может также сделать так с CompletionException, содержащим одно из этих исключений как его причина. Никакие гарантии не делаются, о котором результат или исключение используются в возвращенном CompletableFuture. Если предоставленное действие выдает исключение, то возвращенный CompletableFuture завершается исключительно с CompletionException, содержащим исключение как его причина.
other
- другой CompletableFutureblock
- действие, чтобы выполнить прежде, чем завершить возвращенный CompletableFuturepublic CompletableFuture<Void> acceptEitherAsync(CompletableFuture<? extends T> other, Consumer<? super T> block, Executor executor)
Если это и/или другой CompletableFuture, полный исключительно, то возвращенный CompletableFuture может также сделать так с CompletionException, содержащим одно из этих исключений как его причина. Никакие гарантии не делаются, о котором результат или исключение используются в возвращенном CompletableFuture. Если предоставленное действие выдает исключение, то возвращенный CompletableFuture завершается исключительно с CompletionException, содержащим исключение как его причина.
other
- другой CompletableFutureblock
- действие, чтобы выполнить прежде, чем завершить возвращенный CompletableFutureexecutor
- исполнитель, чтобы использовать для асинхронного выполненияpublic CompletableFuture<Void> runAfterEither(CompletableFuture<?> other, Runnable action)
Если это и/или другой CompletableFuture, полный исключительно, то возвращенный CompletableFuture может также сделать так с CompletionException, содержащим одно из этих исключений как его причина. Никакие гарантии не делаются, о котором результат или исключение используются в возвращенном CompletableFuture. Если предоставленное действие выдает исключение, то возвращенный CompletableFuture завершается исключительно с CompletionException, содержащим исключение как его причина.
other
- другой CompletableFutureaction
- действие, чтобы выполнить прежде, чем завершить возвращенный CompletableFuturepublic CompletableFuture<Void> runAfterEitherAsync(CompletableFuture<?> other, Runnable action)
ForkJoinPool.commonPool()
. Если это и/или другой CompletableFuture, полный исключительно, то возвращенный CompletableFuture может также сделать так с CompletionException, содержащим одно из этих исключений как его причина. Никакие гарантии не делаются, о котором результат или исключение используются в возвращенном CompletableFuture. Если предоставленное действие выдает исключение, то возвращенный CompletableFuture завершается исключительно с CompletionException, содержащим исключение как его причина.
other
- другой CompletableFutureaction
- действие, чтобы выполнить прежде, чем завершить возвращенный CompletableFuturepublic CompletableFuture<Void> runAfterEitherAsync(CompletableFuture<?> other, Runnable action, Executor executor)
Если это и/или другой CompletableFuture, полный исключительно, то возвращенный CompletableFuture может также сделать так с CompletionException, содержащим одно из этих исключений как его причина. Никакие гарантии не делаются, о котором результат или исключение используются в возвращенном CompletableFuture. Если предоставленное действие выдает исключение, то возвращенный CompletableFuture завершается исключительно с CompletionException, содержащим исключение как его причина.
other
- другой CompletableFutureaction
- действие, чтобы выполнить прежде, чем завершить возвращенный CompletableFutureexecutor
- исполнитель, чтобы использовать для асинхронного выполненияpublic <U> CompletableFuture<U> thenCompose(Function<? super T,CompletableFuture<U>> fn)
Если этот CompletableFuture завершается исключительно, то возвращенный CompletableFuture также делает так с CompletionException, содержащим это исключение как его причина. Точно так же, если вычисленный CompletableFuture завершается исключительно, то так делает возвращенный CompletableFuture.
fn
- функция, возвращая новый CompletableFuturepublic <U> CompletableFuture<U> thenComposeAsync(Function<? super T,CompletableFuture<U>> fn)
ForkJoinPool.commonPool()
заданной функцией результата этого CompletableFuture. Если этот CompletableFuture завершается исключительно, то возвращенный CompletableFuture также делает так с CompletionException, содержащим это исключение как его причина. Точно так же, если вычисленный CompletableFuture завершается исключительно, то так делает возвращенный CompletableFuture.
fn
- функция, возвращая новый CompletableFuturepublic <U> CompletableFuture<U> thenComposeAsync(Function<? super T,CompletableFuture<U>> fn, Executor executor)
Если этот CompletableFuture завершается исключительно, то возвращенный CompletableFuture также делает так с CompletionException, содержащим это исключение как его причина. Точно так же, если вычисленный CompletableFuture завершается исключительно, то так делает возвращенный CompletableFuture.
fn
- функция, возвращая новый CompletableFutureexecutor
- исполнитель, чтобы использовать для асинхронного выполненияpublic CompletableFuture<T> exceptionally(Function<Throwable,? extends T> fn)
fn
- функция, чтобы использовать, чтобы вычислить значение возвращенного CompletableFuture, если этот CompletableFuture, завершенный исключительноpublic <U> CompletableFuture<U> handle(BiFunction<? super T,Throwable,? extends U> fn)
null
если ни один) и исключение (или null
если ни один) этого CompletableFuture когда завершено.fn
- функция, чтобы использовать, чтобы вычислить значение возвращенного CompletableFuturepublic static CompletableFuture<Void> allOf(CompletableFuture<?>... cfs)
null
. Среди приложений этого метода должен ждать завершения ряда независимого CompletableFutures прежде, чем продолжать программу, как в: CompletableFuture.allOf(c1, c2, c3).join();
.
cfs
- CompletableFuturesNullPointerException
- если массив или какой-либо из его элементов null
public static CompletableFuture<Object> anyOf(CompletableFuture<?>... cfs)
cfs
- CompletableFuturesNullPointerException
- если массив или какой-либо из его элементов null
public boolean cancel(boolean mayInterruptIfRunning)
CancellationException
. Зависимые CompletableFutures, которые уже не завершились, также завершатся исключительно с a CompletionException
вызванный этим CancellationException
.public boolean isCancelled()
true
если этот CompletableFuture был отменен прежде, чем он обычно завершался.isCancelled
в интерфейсе Future<T>
true
если этот CompletableFuture был отменен прежде, чем он обычно завершалсяpublic void obtrudeValue(T value)
get()
и связанные методы, действительно ли уже завершенный. Этот метод разрабатывается для использования только в действиях восстановления после ошибки, и даже в таких ситуациях может привести к продолжающемуся зависимому использованию завершений, установленному против перезаписанных результатов.value
- значение завершенияpublic void obtrudeException(Throwable ex)
get()
и связанные методы, чтобы выдать данное исключение, действительно ли уже завершенный. Этот метод разрабатывается для использования только в действиях восстановления, и даже в таких ситуациях может привести к продолжающемуся зависимому использованию завершений, установленному против перезаписанных результатов.ex
- исключениеpublic int getNumberOfDependents()
public String toString()
"Completed Normally"
или Строка "Completed Exceptionally"
, или Строка "Not completed"
сопровождаемый числом CompletableFutures, зависящего от его завершения, если любой.
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92