Класс CompletableFuture<T>
- Параметры типа:
T— тип результата, возвращаемого методамиjoinиgetэтой future
- Все реализуемые интерфейсы:
CompletionStage<T>, Future<T>
public class CompletableFuture<T> extends Object implements Future<T>, CompletionStage<T>
Future, выполнение которого может быть завершено явно (с установкой значения и состояния) и который можно использовать как CompletionStage, поддерживающий зависимые функции и действия, запускаемые после его завершения. Если две или более потоков пытаются вызвать у CompletableFuture метод complete, completeExceptionally или cancel, успешно это удаётся только одному из них.
Помимо этих и связанных с ними методов для непосредственного управления состоянием и результатами, CompletableFuture реализует интерфейс CompletionStage со следующими правилами:
- Действия, передаваемые для зависимого завершения неасинхронных методов, могут выполняться потоком, завершающим текущий CompletableFuture, либо любым другим потоком, вызывающим метод завершения.
- Все асинхронные методы без явно заданного аргумента Executor, а также методы с задержкой выполняются с использованием
ForkJoinPool.commonPool(). Исполнитель по умолчанию для асинхронных операций можно переопределить в подклассах для нестатических методов, определив методdefaultExecutor(). Для упрощения мониторинга, отладки и отслеживания все создаваемые асинхронные задачи являются экземплярами маркерного интерфейсаCompletableFuture.AsynchronousCompletionTask. Для операций с задержкой можно использовать методы-адаптеры, определённые в этом классе, например:supplyAsync(supplier, delayedExecutor(timeout, timeUnit)). - Все методы CompletionStage реализованы независимо от других открытых методов, поэтому переопределение одного метода в подклассе не влияет на поведение остальных.
- Все методы CompletionStage возвращают CompletableFuture. Чтобы ограничить использование только методами, определёнными в интерфейсе CompletionStage, используйте метод
minimalCompletionStage(). Чтобы гарантировать, что клиенты не смогут изменять future самостоятельно, используйте метод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. Например, ниже приведён класс, который заменяет Executor по умолчанию и отключает методы 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
Краткое описание вложенных классов
| Модификатор и тип | Класс | Описание |
|---|---|---|
static interface |
CompletableFuture.AsynchronousCompletionTask |
Маркерный интерфейс, идентифицирующий асинхронные задачи, создаваемые методами async. |
Вложенные классы/интерфейсы, объявленные в интерфейсе Future
Future.State
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
CompletableFuture() |
Создаёт новый незавершённый CompletableFuture. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
CompletableFuture |
acceptEither |
Возвращает новый CompletionStage, в котором при нормальном завершении этого этапа или другого заданного этапа выполняется переданное действие, получающее соответствующий результат в качестве аргумента. |
CompletableFuture |
acceptEitherAsync |
Возвращает новый CompletionStage, в котором при нормальном завершении этого этапа или другого заданного этапа выполняется переданное действие с использованием средства асинхронного выполнения по умолчанию для этого этапа; соответствующий результат передаётся в качестве аргумента. |
CompletableFuture |
acceptEitherAsync |
Возвращает новый CompletionStage, в котором при нормальном завершении этого этапа или другого заданного этапа выполняется переданное действие с использованием указанного исполнителя; соответствующий результат передаётся в качестве аргумента. |
static CompletableFuture |
allOf |
Возвращает новый CompletableFuture, который завершается после завершения всех заданных CompletableFuture. |
static CompletableFuture |
anyOf |
Возвращает новый CompletableFuture, который завершается при завершении любого из заданных CompletableFuture и содержит тот же результат. |
<U> CompletableFuture |
applyToEither |
Возвращает новый CompletionStage, в котором при нормальном завершении этого этапа или другого заданного этапа выполняется переданная функция, получающая соответствующий результат в качестве аргумента. |
<U> CompletableFuture |
applyToEitherAsync |
Возвращает новый CompletionStage, в котором при нормальном завершении этого этапа или другого заданного этапа выполняется переданная функция с использованием средства асинхронного выполнения по умолчанию для этого этапа; соответствующий результат передаётся в качестве аргумента. |
<U> CompletableFuture |
applyToEitherAsync |
Возвращает новый CompletionStage, в котором при нормальном завершении этого этапа или другого заданного этапа выполняется переданная функция с использованием указанного исполнителя; соответствующий результат передаётся в качестве аргумента. |
boolean |
cancel |
Если выполнение ещё не завершено, завершает этот CompletableFuture объектом CancellationException. |
boolean |
complete |
Если выполнение ещё не завершено, задаёт значение, которое возвращают get() и связанные методы. |
CompletableFuture |
completeAsync |
Завершает этот CompletableFuture результатом функции Supplier, вызванной асинхронной задачей с использованием исполнителя по умолчанию. |
CompletableFuture |
completeAsync |
Завершает этот CompletableFuture результатом функции Supplier, вызванной асинхронной задачей с использованием заданного исполнителя. |
static <U> CompletableFuture |
completedFuture |
Возвращает новый CompletableFuture, уже завершённый заданным значением. |
static <U> CompletionStage |
completedStage |
Возвращает новый CompletionStage, уже завершённый заданным значением и поддерживающий только методы интерфейса CompletionStage. |
boolean |
completeExceptionally |
Если выполнение ещё не завершено, приводит к тому, что get() и связанные методы выбрасывают заданное исключение. |
CompletableFuture |
completeOnTimeout |
Завершает этот CompletableFuture заданным значением, если до истечения указанного времени он не был завершён иным способом. |
CompletableFuture |
copy() |
Возвращает новый CompletableFuture, который при нормальном завершении этого CompletableFuture завершается тем же значением. |
Executor |
defaultExecutor() |
Возвращает Executor по умолчанию, используемый асинхронными методами, которым не задан Executor. |
static Executor |
delayedExecutor |
Возвращает новый Executor, который отправляет задачу исполнителю по умолчанию после указанной задержки (или без задержки, если значение неположительное). |
static Executor |
delayedExecutor |
Возвращает новый Executor, который отправляет задачу указанному базовому исполнителю после заданной задержки (или без задержки, если значение неположительное). |
CompletableFuture |
exceptionally |
Возвращает новый CompletionStage, в котором при исключительном завершении этого этапа выполняется переданная функция, получающая исключение этого этапа в качестве аргумента. |
CompletableFuture |
exceptionallyAsync |
Возвращает новый CompletionStage, в котором при исключительном завершении этого этапа выполняется переданная функция, получающая исключение этого этапа в качестве аргумента; используется средство асинхронного выполнения по умолчанию для этого этапа. |
CompletableFuture |
exceptionallyAsync |
Возвращает новый CompletionStage, в котором при исключительном завершении этого этапа выполняется переданная функция, получающая исключение этого этапа в качестве аргумента; используется указанный Executor. |
CompletableFuture |
exceptionallyCompose |
Возвращает новый CompletionStage, который при исключительном завершении этого этапа составляется из результата применения переданной функции к исключению этого этапа. |
CompletableFuture |
exceptionallyComposeAsync |
Возвращает новый CompletionStage, который при исключительном завершении этого этапа составляется из результата применения переданной функции к исключению этого этапа с использованием средства асинхронного выполнения по умолчанию для этого этапа. |
CompletableFuture |
exceptionallyComposeAsync |
Возвращает новый CompletionStage, который при исключительном завершении этого этапа составляется из результата применения переданной функции к исключению этого этапа с использованием указанного Executor. |
Throwable |
exceptionNow() |
Возвращает исключение, выброшенное задачей, не ожидая её завершения. |
static <U> CompletableFuture |
failedFuture |
Возвращает новый CompletableFuture, уже завершённый исключением с заданным исключением. |
static <U> CompletionStage |
failedStage |
Возвращает новый CompletionStage, уже завершённый заданным исключением и поддерживающий только методы интерфейса CompletionStage. |
T |
get() |
При необходимости ожидает завершения этой future, а затем возвращает её результат. |
T |
get |
При необходимости ожидает завершения этой future в течение заданного времени, а затем возвращает её результат, если он доступен. |
T |
getNow |
Если выполнение завершено, возвращает значение результата (или выбрасывает возникшее исключение); в противном случае возвращает заданное значение valueIfAbsent. |
int |
getNumberOfDependents() |
Возвращает оценочное число CompletableFuture, завершение которых ожидает завершения этого CompletableFuture. |
<U> CompletableFuture |
handle |
Возвращает новый CompletionStage, в котором при нормальном или исключительном завершении этого этапа выполняется переданная функция, получающая результат и исключение этого этапа в качестве аргументов. |
<U> CompletableFuture |
handleAsync |
Возвращает новый CompletionStage, в котором при нормальном или исключительном завершении этого этапа выполняется переданная функция с использованием средства асинхронного выполнения по умолчанию для этого этапа; результат и исключение этого этапа передаются в качестве аргументов. |
<U> CompletableFuture |
handleAsync |
Возвращает новый CompletionStage, в котором при нормальном или исключительном завершении этого этапа выполняется переданная функция с использованием указанного исполнителя; результат и исключение этого этапа передаются в качестве аргументов. |
boolean |
isCancelled() |
Возвращает true, если этот CompletableFuture был отменён до нормального завершения. |
boolean |
isCompletedExceptionally() |
Возвращает true, если этот CompletableFuture завершился исключительным образом. |
boolean |
isDone() |
Возвращает true, если выполнение завершено любым способом: нормально, с исключением или в результате отмены. |
T |
join() |
Возвращает значение результата после завершения или выбрасывает непроверяемое исключение, если выполнение завершилось исключительным образом. |
CompletionStage |
minimalCompletionStage() |
Возвращает новый CompletionStage, который при нормальном завершении этого CompletableFuture завершается тем же значением и не может быть завершён независимо или иным образом использован за пределами методов, определённых интерфейсом CompletionStage. |
<U> CompletableFuture |
newIncompleteFuture() |
Возвращает новый незавершённый CompletableFuture того типа, который должен возвращаться методом CompletionStage. |
void |
obtrudeException |
Принудительно вызывает выброс заданного исключения при последующих вызовах метода get() и связанных методов независимо от того, завершено ли выполнение. |
void |
obtrudeValue |
Принудительно устанавливает или сбрасывает значение, возвращаемое при последующих вызовах метода get() и связанных методов, независимо от того, завершено ли выполнение. |
CompletableFuture |
orTimeout |
Завершает этот CompletableFuture исключением TimeoutException, если до истечения заданного времени он не был завершён иным способом. |
T |
resultNow() |
Возвращает вычисленный результат, не ожидая завершения. |
CompletableFuture |
runAfterBoth |
Возвращает новый CompletionStage, который выполняет заданное действие, когда этот и другой заданный этапы завершатся нормально. |
CompletableFuture |
runAfterBothAsync |
Возвращает новый CompletionStage, который выполняет заданное действие с использованием средства асинхронного выполнения по умолчанию для этого этапа, когда этот и другой заданный этапы завершатся нормально. |
CompletableFuture |
runAfterBothAsync |
Возвращает новый CompletionStage, который выполняет заданное действие с использованием указанного исполнителя, когда этот и другой заданный этапы завершатся нормально. |
CompletableFuture |
runAfterEither |
Возвращает новый CompletionStage, который выполняет заданное действие, когда этот или другой заданный этап завершится нормально. |
CompletableFuture |
runAfterEitherAsync |
Возвращает новый CompletionStage, который выполняет заданное действие с использованием средства асинхронного выполнения по умолчанию для этого этапа, когда этот или другой заданный этап завершится нормально. |
CompletableFuture |
runAfterEitherAsync |
Возвращает новый CompletionStage, который выполняет заданное действие с использованием указанного исполнителя, когда этот или другой заданный этап завершится нормально. |
static CompletableFuture |
runAsync |
Возвращает новый CompletableFuture, который асинхронно завершается задачей, выполняющейся в ForkJoinPool.commonPool() после выполнения заданного действия. |
static CompletableFuture |
runAsync |
Возвращает новый CompletableFuture, который асинхронно завершается задачей, выполняющей заданное действие с использованием указанного исполнителя. |
Future.State |
state() |
Возвращает состояние вычисления. |
static <U> CompletableFuture |
supplyAsync |
Возвращает новый CompletableFuture, который асинхронно завершается задачей, выполняющейся в ForkJoinPool.commonPool(), значением, полученным при вызове заданного Supplier. |
static <U> CompletableFuture |
supplyAsync |
Возвращает новый CompletableFuture, который асинхронно завершается задачей, выполняющейся с использованием заданного исполнителя, значением, полученным при вызове заданного Supplier. |
CompletableFuture |
thenAccept |
Возвращает новый CompletionStage, в котором при нормальном завершении этого этапа выполняется переданное действие, получающее результат этого этапа в качестве аргумента. |
CompletableFuture |
thenAcceptAsync |
Возвращает новый CompletionStage, в котором при нормальном завершении этого этапа выполняется переданное действие с использованием средства асинхронного выполнения по умолчанию для этого этапа; результат этого этапа передаётся в качестве аргумента. |
CompletableFuture |
thenAcceptAsync |
Возвращает новый CompletionStage, в котором при нормальном завершении этого этапа выполняется переданное действие с использованием указанного Executor; результат этого этапа передаётся в качестве аргумента. |
<U> CompletableFuture |
thenAcceptBoth |
Возвращает новый CompletionStage, в котором при нормальном завершении этого и другого заданного этапа выполняется переданное действие, получающее оба результата в качестве аргументов. |
<U> CompletableFuture |
thenAcceptBothAsync |
Возвращает новый CompletionStage, в котором при нормальном завершении этого и другого заданного этапа выполняется переданное действие с использованием средства асинхронного выполнения по умолчанию для этого этапа; оба результата передаются в качестве аргументов. |
<U> CompletableFuture |
thenAcceptBothAsync |
Возвращает новый CompletionStage, в котором при нормальном завершении этого и другого заданного этапа выполняется переданное действие с использованием указанного исполнителя; оба результата передаются в качестве аргументов. |
<U> CompletableFuture |
thenApply |
Возвращает новый CompletionStage, в котором при нормальном завершении этого этапа выполняется переданная функция, получающая результат этого этапа в качестве аргумента. |
<U> CompletableFuture |
thenApplyAsync |
Возвращает новый CompletionStage, в котором при нормальном завершении этого этапа выполняется переданная функция с использованием средства асинхронного выполнения по умолчанию для этого этапа; результат этого этапа передаётся в качестве аргумента. |
<U> CompletableFuture |
thenApplyAsync |
Возвращает новый CompletionStage, в котором при нормальном завершении этого этапа выполняется переданная функция с использованием указанного Executor; результат этого этапа передаётся в качестве аргумента. |
<U, |
thenCombine |
Возвращает новый CompletionStage, в котором при нормальном завершении этого и другого заданного этапа выполняется переданная функция, получающая оба результата в качестве аргументов. |
<U, |
thenCombineAsync |
Возвращает новый CompletionStage, в котором при нормальном завершении этого и другого заданного этапа выполняется переданная функция с использованием средства асинхронного выполнения по умолчанию для этого этапа; оба результата передаются в качестве аргументов. |
<U, |
thenCombineAsync |
Возвращает новый CompletionStage, в котором при нормальном завершении этого и другого заданного этапа выполняется переданная функция с использованием указанного исполнителя; оба результата передаются в качестве аргументов. |
<U> CompletableFuture |
thenCompose |
Возвращает новый CompletionStage, завершающийся тем же значением, что и CompletionStage, возвращённый заданной функцией. |
<U> CompletableFuture |
thenComposeAsync |
Возвращает новый CompletionStage, завершающийся тем же значением, что и CompletionStage, возвращённый заданной функцией, выполняемой с использованием средства асинхронного выполнения по умолчанию для этого этапа. |
<U> CompletableFuture |
thenComposeAsync |
Возвращает новый CompletionStage, завершающийся тем же значением, что и CompletionStage, возвращённый заданной функцией, выполняемой с использованием указанного Executor. |
CompletableFuture |
thenRun |
Возвращает новый CompletionStage, который выполняет заданное действие при нормальном завершении этого этапа. |
CompletableFuture |
thenRunAsync |
Возвращает новый CompletionStage, который выполняет заданное действие с использованием средства асинхронного выполнения по умолчанию для этого этапа при нормальном завершении этапа. |
CompletableFuture |
thenRunAsync |
Возвращает новый CompletionStage, который выполняет заданное действие с использованием указанного Executor при нормальном завершении этого этапа. |
CompletableFuture |
toCompletableFuture() |
Возвращает этот CompletableFuture. |
String |
toString() |
Возвращает строку, описывающую этот CompletableFuture и его состояние завершения. |
CompletableFuture |
whenComplete |
Возвращает новый CompletionStage с тем же результатом или исключением, что и у этого этапа; при завершении этого этапа выполняется заданное действие. |
CompletableFuture |
whenCompleteAsync |
Возвращает новый CompletionStage с тем же результатом или исключением, что и у этого этапа; при завершении этапа выполняется заданное действие с использованием средства асинхронного выполнения по умолчанию для этого этапа. |
CompletableFuture |
whenCompleteAsync |
Возвращает новый CompletionStage с тем же результатом или исключением, что и у этого этапа; при завершении этапа выполняется заданное действие с использованием указанного Executor. |
Подробное описание конструкторов
CompletableFuture
public CompletableFuture()
Подробное описание методов
supplyAsync
public static <U> CompletableFuture<U> supplyAsync(Supplier<U> supplier)
ForkJoinPool.commonPool(), со значением, полученным при вызове переданного Supplier.- Параметры типа:
U— тип возвращаемого значения функции- Параметры:
-
supplier— функция, возвращающая значение, которым будет завершен возвращаемый CompletableFuture - Возвращает:
- новый CompletableFuture
supplyAsync
public static <U> CompletableFuture<U> supplyAsync(Supplier<U> supplier, Executor executor)
- Параметры типа:
U— тип возвращаемого значения функции- Параметры:
-
supplier— функция, возвращающая значение, которым будет завершен возвращаемый CompletableFuture -
executor— исполнитель для асинхронного выполнения - Возвращает:
- новый CompletableFuture
runAsync
public static CompletableFuture<Void> runAsync(Runnable runnable)
ForkJoinPool.commonPool() после выполнения переданного действия.- Параметры:
-
runnable— действие, которое нужно выполнить перед завершением возвращаемого CompletableFuture - Возвращает:
- новый CompletableFuture
runAsync
public static CompletableFuture<Void> runAsync(Runnable runnable, Executor executor)
- Параметры:
-
runnable— действие, которое нужно выполнить перед завершением возвращаемого CompletableFuture -
executor— исполнитель для асинхронного выполнения - Возвращает:
- новый CompletableFuture
completedFuture
public static <U> CompletableFuture<U> completedFuture(U value)
- Параметры типа:
U— тип значения- Параметры:
-
value— значение - Возвращает:
- завершенный CompletableFuture
isDone
get
public T get() throws InterruptedException, ExecutionException
- Определено в:
-
getв интерфейсеFuture<T> - Возвращает:
- результирующее значение
- Выбрасывает:
-
CancellationException— если данный future был отменен -
ExecutionException— если данный future завершился с исключением -
InterruptedException— если текущий поток был прерван во время ожидания
get
public T get(long timeout, TimeUnit unit) throws InterruptedException, ExecutionException, TimeoutException
- Определено в:
-
getв интерфейсеFuture<T> - Параметры:
-
timeout— максимальное время ожидания -
unit— единица измерения аргумента тайм-аута - Возвращает:
- результирующее значение
- Выбрасывает:
-
CancellationException— если данный future был отменен -
ExecutionException— если данный future завершился с исключением -
InterruptedException— если текущий поток был прерван во время ожидания -
TimeoutException— если время ожидания истекло
join
public T join()
CompletionException, причиной которого является исходное исключение.- Возвращает:
- результирующее значение
- Выбрасывает:
-
CancellationException— если вычисление было отменено -
CompletionException— если данный future завершился с исключением или вычисление при завершении выбросило исключение
getNow
public T getNow(T valueIfAbsent)
- Параметры:
-
valueIfAbsent— значение, возвращаемое, если вычисление не завершено - Возвращает:
- результирующее значение, если вычисление завершено, иначе заданное значение valueIfAbsent
- Выбрасывает:
-
CancellationException— если вычисление было отменено -
CompletionException— если данный future завершился с исключением или вычисление при завершении выбросило исключение
resultNow
public T resultNow()
FutureЭтот метод предназначен для случаев, когда вызывающий код знает, что задача уже успешно завершена, например при фильтрации потока объектов Future для выбора успешно завершенных задач и использовании операции отображения для получения потока результатов.
results = futures.stream()
.filter(f -> f.state() == Future.State.SUCCESS)
.map(Future::resultNow)
.toList();
exceptionNow
public Throwable exceptionNow()
FutureЭтот метод предназначен для случаев, когда вызывающий код знает, что задача уже завершилась с исключением.
- Определено в:
-
exceptionNowв интерфейсеFuture<T> - Возвращает:
- исключение, выброшенное задачей
- Начиная с:
- 19
complete
public boolean complete(T value)
get() и связанными с ним методами.- Параметры:
-
value— результирующее значение - Возвращает:
-
true, если этот вызов перевел данный CompletableFuture в состояние завершения, иначеfalse
completeExceptionally
public boolean completeExceptionally(Throwable ex)
get() и связанных с ним методов.- Параметры:
-
ex— исключение - Возвращает:
-
true, если этот вызов перевел данный CompletableFuture в состояние завершения, иначеfalse
thenApply
public <U> CompletableFuture<U> thenApply(Function<? super T, ? extends U> fn)
CompletionStageЭтот метод аналогичен Optional.map и Stream.map.
Правила обработки завершения с исключением см. в документации CompletionStage.
- Определено в:
-
thenApplyв интерфейсеCompletionStage<T> - Параметры типа:
U— тип возвращаемого значения функции- Параметры:
-
fn— функция для вычисления значения возвращаемого CompletionStage - Возвращает:
- новый CompletionStage
thenApplyAsync
public <U> CompletableFuture<U> thenApplyAsync(Function<? super T, ? extends U> fn)
CompletionStageCompletionStage.- Определено в:
-
thenApplyAsyncв интерфейсеCompletionStage<T> - Параметры типа:
U— тип возвращаемого значения функции- Параметры:
-
fn— функция для вычисления значения возвращаемого CompletionStage - Возвращает:
- новый CompletionStage
thenApplyAsync
public <U> CompletableFuture<U> thenApplyAsync(Function<? super T, ? extends U> fn, Executor executor)
CompletionStageCompletionStage.- Определено в:
-
thenApplyAsyncв интерфейсеCompletionStage<T> - Параметры типа:
U— тип возвращаемого значения функции- Параметры:
-
fn— функция для вычисления значения возвращаемого CompletionStage -
executor— исполнитель для асинхронного выполнения - Возвращает:
- новый CompletionStage
thenAccept
public CompletableFuture<Void> thenAccept(Consumer<? super T> action)
CompletionStageCompletionStage.- Определено в:
-
thenAcceptв интерфейсеCompletionStage<T> - Параметры:
-
action— действие, которое нужно выполнить перед завершением возвращаемого CompletionStage - Возвращает:
- новый CompletionStage
thenAcceptAsync
public CompletableFuture<Void> thenAcceptAsync(Consumer<? super T> action)
CompletionStageCompletionStage.- Определено в:
-
thenAcceptAsyncв интерфейсеCompletionStage<T> - Параметры:
-
action— действие, которое нужно выполнить перед завершением возвращаемого CompletionStage - Возвращает:
- новый CompletionStage
thenAcceptAsync
public CompletableFuture<Void> thenAcceptAsync(Consumer<? super T> action, Executor executor)
CompletionStageCompletionStage.- Определено в:
-
thenAcceptAsyncв интерфейсеCompletionStage<T> - Параметры:
-
action— действие, которое нужно выполнить перед завершением возвращаемого CompletionStage -
executor— исполнитель для асинхронного выполнения - Возвращает:
- новый CompletionStage
thenRun
public CompletableFuture<Void> thenRun(Runnable action)
CompletionStageCompletionStage.- Определено в:
-
thenRunв интерфейсеCompletionStage<T> - Параметры:
-
action— действие, которое нужно выполнить перед завершением возвращаемого CompletionStage - Возвращает:
- новый CompletionStage
thenRunAsync
public CompletableFuture<Void> thenRunAsync(Runnable action)
CompletionStageCompletionStage.- Определено в:
-
thenRunAsyncв интерфейсеCompletionStage<T> - Параметры:
-
action— действие, которое нужно выполнить перед завершением возвращаемого CompletionStage - Возвращает:
- новый CompletionStage
thenRunAsync
public CompletableFuture<Void> thenRunAsync(Runnable action, Executor executor)
CompletionStageCompletionStage.- Определено в:
-
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)
CompletionStageCompletionStage.- Определено в:
-
thenCombineв интерфейсеCompletionStage<T> - Параметры типа:
U— тип результата другого CompletionStageV— тип возвращаемого значения функции- Параметры:
-
other— другой CompletionStage -
fn— функция для вычисления значения возвращаемого CompletionStage - Возвращает:
- новый CompletionStage
thenCombineAsync
public <U,V> CompletableFuture<V> thenCombineAsync(CompletionStage<? extends U> other, BiFunction<? super T, ? super U, ? extends V> fn)
CompletionStageCompletionStage.- Определено в:
-
thenCombineAsyncв интерфейсеCompletionStage<T> - Параметры типа:
U— тип результата другого CompletionStageV— тип возвращаемого значения функции- Параметры:
-
other— другой CompletionStage -
fn— функция для вычисления значения возвращаемого CompletionStage - Возвращает:
- новый CompletionStage
thenCombineAsync
public <U,V> CompletableFuture<V> thenCombineAsync(CompletionStage<? extends U> other, BiFunction<? super T, ? super U, ? extends V> fn, Executor executor)
CompletionStageCompletionStage.- Определено в:
-
thenCombineAsyncв интерфейсеCompletionStage<T> - Параметры типа:
U— тип результата другого CompletionStageV— тип возвращаемого значения функции- Параметры:
-
other— другой CompletionStage -
fn— функция для вычисления значения возвращаемого CompletionStage -
executor— исполнитель для асинхронного выполнения - Возвращает:
- новый CompletionStage
thenAcceptBoth
public <U> CompletableFuture<Void> thenAcceptBoth(CompletionStage<? extends U> other, BiConsumer<? super T, ? super U> action)
CompletionStageCompletionStage.- Определено в:
-
thenAcceptBothв интерфейсеCompletionStage<T> - Параметры типа:
U— тип результата другого CompletionStage- Параметры:
-
other— другой CompletionStage -
action— действие, которое нужно выполнить перед завершением возвращаемого CompletionStage - Возвращает:
- новый CompletionStage
thenAcceptBothAsync
public <U> CompletableFuture<Void> thenAcceptBothAsync(CompletionStage<? extends U> other, BiConsumer<? super T, ? super U> action)
CompletionStageCompletionStage.- Определено в:
-
thenAcceptBothAsyncв интерфейсеCompletionStage<T> - Параметры типа:
U— тип результата другого CompletionStage- Параметры:
-
other— другой CompletionStage -
action— действие, которое нужно выполнить перед завершением возвращаемого CompletionStage - Возвращает:
- новый CompletionStage
thenAcceptBothAsync
public <U> CompletableFuture<Void> thenAcceptBothAsync(CompletionStage<? extends U> other, BiConsumer<? super T, ? super U> action, Executor executor)
CompletionStageCompletionStage.- Определено в:
-
thenAcceptBothAsyncв интерфейсеCompletionStage<T> - Параметры типа:
U— тип результата другого CompletionStage- Параметры:
-
other— другой CompletionStage -
action— действие, которое нужно выполнить перед завершением возвращаемого CompletionStage -
executor— исполнитель для асинхронного выполнения - Возвращает:
- новый CompletionStage
runAfterBoth
public CompletableFuture<Void> runAfterBoth(CompletionStage<?> other, Runnable action)
CompletionStageCompletionStage.- Определено в:
-
runAfterBothв интерфейсеCompletionStage<T> - Параметры:
-
other— другой CompletionStage -
action— действие, которое нужно выполнить перед завершением возвращаемого CompletionStage - Возвращает:
- новый CompletionStage
runAfterBothAsync
public CompletableFuture<Void> runAfterBothAsync(CompletionStage<?> other, Runnable action)
CompletionStageCompletionStage.- Определено в:
-
runAfterBothAsyncв интерфейсеCompletionStage<T> - Параметры:
-
other— другой CompletionStage -
action— действие, которое нужно выполнить перед завершением возвращаемого CompletionStage - Возвращает:
- новый CompletionStage
runAfterBothAsync
public CompletableFuture<Void> runAfterBothAsync(CompletionStage<?> other, Runnable action, Executor executor)
CompletionStageCompletionStage.- Определено в:
-
runAfterBothAsyncв интерфейсеCompletionStage<T> - Параметры:
-
other— другой CompletionStage -
action— действие, которое необходимо выполнить перед завершением возвращаемого CompletionStage -
executor— исполнитель, используемый для асинхронного выполнения - Возвращает:
- новый CompletionStage
applyToEither
public <U> CompletableFuture<U> applyToEither(CompletionStage<? extends T> other, Function<? super T, U> fn)
CompletionStageCompletionStage.- Определено в:
-
applyToEitherв интерфейсеCompletionStage<T> - Параметры типа:
U— тип возвращаемого функцией значения- Параметры:
-
other— другой CompletionStage -
fn— функция для вычисления значения возвращаемого CompletionStage - Возвращает:
- новый CompletionStage
applyToEitherAsync
public <U> CompletableFuture<U> applyToEitherAsync(CompletionStage<? extends T> other, Function<? super T, U> fn)
CompletionStageCompletionStage.- Определено в:
-
applyToEitherAsyncв интерфейсеCompletionStage<T> - Параметры типа:
U— тип возвращаемого функцией значения- Параметры:
-
other— другой CompletionStage -
fn— функция для вычисления значения возвращаемого CompletionStage - Возвращает:
- новый CompletionStage
applyToEitherAsync
public <U> CompletableFuture<U> applyToEitherAsync(CompletionStage<? extends T> other, Function<? super T, U> fn, Executor executor)
CompletionStageCompletionStage.- Определено в:
-
applyToEitherAsyncв интерфейсеCompletionStage<T> - Параметры типа:
U— тип возвращаемого функцией значения- Параметры:
-
other— другой CompletionStage -
fn— функция для вычисления значения возвращаемого CompletionStage -
executor— исполнитель, используемый для асинхронного выполнения - Возвращает:
- новый CompletionStage
acceptEither
public CompletableFuture<Void> acceptEither(CompletionStage<? extends T> other, Consumer<? super T> action)
CompletionStageCompletionStage.- Определено в:
-
acceptEitherв интерфейсеCompletionStage<T> - Параметры:
-
other— другой CompletionStage -
action— действие, которое необходимо выполнить перед завершением возвращаемого CompletionStage - Возвращает:
- новый CompletionStage
acceptEitherAsync
public CompletableFuture<Void> acceptEitherAsync(CompletionStage<? extends T> other, Consumer<? super T> action)
CompletionStageCompletionStage.- Определено в:
-
acceptEitherAsyncв интерфейсеCompletionStage<T> - Параметры:
-
other— другой CompletionStage -
action— действие, которое необходимо выполнить перед завершением возвращаемого CompletionStage - Возвращает:
- новый CompletionStage
acceptEitherAsync
public CompletableFuture<Void> acceptEitherAsync(CompletionStage<? extends T> other, Consumer<? super T> action, Executor executor)
CompletionStageCompletionStage.- Определено в:
-
acceptEitherAsyncв интерфейсеCompletionStage<T> - Параметры:
-
other— другой CompletionStage -
action— действие, которое необходимо выполнить перед завершением возвращаемого CompletionStage -
executor— исполнитель, используемый для асинхронного выполнения - Возвращает:
- новый CompletionStage
runAfterEither
public CompletableFuture<Void> runAfterEither(CompletionStage<?> other, Runnable action)
CompletionStageCompletionStage.- Определено в:
-
runAfterEitherв интерфейсеCompletionStage<T> - Параметры:
-
other— другой CompletionStage -
action— действие, которое необходимо выполнить перед завершением возвращаемого CompletionStage - Возвращает:
- новый CompletionStage
runAfterEitherAsync
public CompletableFuture<Void> runAfterEitherAsync(CompletionStage<?> other, Runnable action)
CompletionStageCompletionStage.- Определено в:
-
runAfterEitherAsyncв интерфейсеCompletionStage<T> - Параметры:
-
other— другой CompletionStage -
action— действие, которое необходимо выполнить перед завершением возвращаемого CompletionStage - Возвращает:
- новый CompletionStage
runAfterEitherAsync
public CompletableFuture<Void> runAfterEitherAsync(CompletionStage<?> other, Runnable action, Executor executor)
CompletionStageCompletionStage.- Определено в:
-
runAfterEitherAsyncв интерфейсеCompletionStage<T> - Параметры:
-
other— другой CompletionStage -
action— действие, которое необходимо выполнить перед завершением возвращаемого CompletionStage -
executor— исполнитель, используемый для асинхронного выполнения - Возвращает:
- новый CompletionStage
thenCompose
public <U> CompletableFuture<U> thenCompose(Function<? super T, ? extends CompletionStage<U>> fn)
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.
- Определено в:
-
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, возвращенный данным методом, завершается тем же значением.
Чтобы обеспечить продвижение вычислений, переданная функция должна гарантировать, что ее результат в конечном итоге будет завершен.
Правила обработки исключительного завершения см. в документации CompletionStage.
- Определено в:
-
thenComposeAsyncв интерфейсеCompletionStage<T> - Параметры типа:
U— тип результата возвращаемого CompletionStage- Параметры:
-
fn— функция для вычисления другого CompletionStage -
executor— исполнитель, используемый для асинхронного выполнения - Возвращает:
- новый CompletionStage
whenComplete
public CompletableFuture<T> whenComplete(BiConsumer<? super T, ? super Throwable> action)
CompletionStageПосле завершения этого этапа заданное действие вызывается с результатом (или null, если результата нет) и исключением (или null, если исключения нет) этого этапа в качестве аргументов. Возвращаемый этап завершается после возврата действия.
В отличие от метода handle, этот метод не предназначен для преобразования результатов завершения, поэтому переданное действие не должно выбрасывать исключение. Однако, если это произойдет, применяются следующие правила: если этот этап завершился нормально, но переданное действие выбрасывает исключение, возвращаемый этап завершается исключительным образом с исключением переданного действия. Если же этот этап завершился исключительным образом и переданное действие выбрасывает исключение, возвращаемый этап завершается исключительным образом с исключением этого этапа.
- Определено в:
-
whenCompleteв интерфейсеCompletionStage<T> - Параметры:
-
action— выполняемое действие - Возвращает:
- новый CompletionStage
whenCompleteAsync
public CompletableFuture<T> whenCompleteAsync(BiConsumer<? super T, ? super Throwable> action)
CompletionStageПосле завершения этого этапа заданное действие вызывается с результатом (или null, если результата нет) и исключением (или null, если исключения нет) этого этапа в качестве аргументов. Возвращаемый этап завершается после возврата действия.
В отличие от метода handleAsync, этот метод не предназначен для преобразования результатов завершения, поэтому переданное действие не должно выбрасывать исключение. Однако, если это произойдет, применяются следующие правила: если этот этап завершился нормально, но переданное действие выбрасывает исключение, возвращаемый этап завершается исключительным образом с исключением переданного действия. Если же этот этап завершился исключительным образом и переданное действие выбрасывает исключение, возвращаемый этап завершается исключительным образом с исключением этого этапа.
- Определено в:
-
whenCompleteAsyncв интерфейсеCompletionStage<T> - Параметры:
-
action— выполняемое действие - Возвращает:
- новый CompletionStage
whenCompleteAsync
public CompletableFuture<T> whenCompleteAsync(BiConsumer<? super T, ? super Throwable> action, Executor executor)
CompletionStageПосле завершения этого этапа заданное действие вызывается с результатом (или null, если результата нет) и исключением (или null, если исключения нет) этого этапа в качестве аргументов. Возвращаемый этап завершается после возврата действия.
В отличие от метода handleAsync, этот метод не предназначен для преобразования результатов завершения, поэтому переданное действие не должно выбрасывать исключение. Однако, если это произойдет, применяются следующие правила: если этот этап завершился нормально, но переданное действие выбрасывает исключение, возвращаемый этап завершается исключительным образом с исключением переданного действия. Если же этот этап завершился исключительным образом и переданное действие выбрасывает исключение, возвращаемый этап завершается исключительным образом с исключением этого этапа.
- Определено в:
-
whenCompleteAsyncв интерфейсеCompletionStage<T> - Параметры:
-
action— выполняемое действие -
executor— исполнитель, используемый для асинхронного выполнения - Возвращает:
- новый CompletionStage
handle
public <U> CompletableFuture<U> handle(BiFunction<? super T, Throwable, ? extends U> fn)
CompletionStageПосле завершения этого этапа заданная функция вызывается с результатом (или null, если результата нет) и исключением (или null, если исключения нет) этого этапа в качестве аргументов, а результат функции используется для завершения возвращаемого этапа.
- Определено в:
-
handleв интерфейсеCompletionStage<T> - Параметры типа:
U— тип возвращаемого функцией значения- Параметры:
-
fn— функция для вычисления значения возвращаемого CompletionStage - Возвращает:
- новый CompletionStage
handleAsync
public <U> CompletableFuture<U> handleAsync(BiFunction<? super T, Throwable, ? extends U> fn)
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После завершения этого этапа заданная функция вызывается с результатом (или null, если результата нет) и исключением (или null, если исключения нет) этого этапа в качестве аргументов, а результат функции используется для завершения возвращаемого этапа.
- Определено в:
-
handleAsyncв интерфейсеCompletionStage<T> - Параметры типа:
U— тип возвращаемого функцией значения- Параметры:
-
fn— функция для вычисления значения возвращаемого CompletionStage -
executor— исполнитель, используемый для асинхронного выполнения - Возвращает:
- новый CompletionStage
toCompletableFuture
public CompletableFuture<T> toCompletableFuture()
- Определено в:
-
toCompletableFutureв интерфейсеCompletionStage<T> - Возвращает:
- этот CompletableFuture
exceptionally
public CompletableFuture<T> exceptionally(Function<Throwable, ? extends T> fn)
CompletionStage- Определено в:
-
exceptionallyв интерфейсеCompletionStage<T> - Параметры:
-
fn— функция для вычисления значения возвращаемого CompletionStage, если этот CompletionStage завершился исключительным образом - Возвращает:
- новый CompletionStage
exceptionallyAsync
public CompletableFuture<T> exceptionallyAsync(Function<Throwable, ? extends T> fn)
CompletionStage- Определено в:
-
exceptionallyAsyncв интерфейсеCompletionStage<T> - Параметры:
-
fn— функция для вычисления значения возвращаемого CompletionStage, если этот CompletionStage завершился исключительным образом - Возвращает:
- новый CompletionStage
- Начиная с версии:
- 12
exceptionallyAsync
public CompletableFuture<T> exceptionallyAsync(Function<Throwable, ? extends T> fn, Executor executor)
CompletionStage- Определено в:
-
exceptionallyAsyncв интерфейсеCompletionStage<T> - Параметры:
-
fn— функция для вычисления значения возвращаемого CompletionStage, если этот CompletionStage завершился исключительным образом -
executor— исполнитель, используемый для асинхронного выполнения - Возвращает:
- новый CompletionStage
- Начиная с версии:
- 12
exceptionallyCompose
public CompletableFuture<T> exceptionallyCompose(Function<Throwable, ? extends CompletionStage<T>> fn)
CompletionStage- Определено в:
-
exceptionallyComposeв интерфейсеCompletionStage<T> - Параметры:
-
fn— функция для вычисления возвращаемого CompletionStage, если этот CompletionStage завершился исключительным образом - Возвращает:
- новый CompletionStage
- Начиная с версии:
- 12
exceptionallyComposeAsync
public CompletableFuture<T> exceptionallyComposeAsync(Function<Throwable, ? extends CompletionStage<T>> fn)
CompletionStage- Определено в:
-
exceptionallyComposeAsyncв интерфейсеCompletionStage<T> - Параметры:
-
fn— функция для вычисления возвращаемого CompletionStage, если этот CompletionStage завершился исключительным образом - Возвращает:
- новый CompletionStage
- Начиная с версии:
- 12
exceptionallyComposeAsync
public CompletableFuture<T> exceptionallyComposeAsync(Function<Throwable, ? extends CompletionStage<T>> fn, Executor executor)
CompletionStage- Указано в:
-
exceptionallyComposeAsyncв интерфейсеCompletionStage<T> - Параметры:
-
fn- функция, используемая для вычисления возвращаемого CompletionStage, если этот CompletionStage завершился аварийно -
executor- исполнитель, используемый для асинхронного выполнения - Возвращает:
- новый CompletionStage
- Начиная с:
- 12
allOf
public static CompletableFuture<Void> allOf(CompletableFuture<?>... cfs)
null. Этот метод, в частности, позволяет дождаться завершения набора независимых CompletableFuture перед продолжением выполнения программы, например: CompletableFuture.allOf(c1, c2,
c3).join();.
- Параметры:
-
cfs- CompletableFuture - Возвращает:
- новый CompletableFuture, который завершается, когда завершаются все переданные CompletableFuture
- Выбрасывает:
-
NullPointerException- если массив или любой из его элементов равенnull
anyOf
public static CompletableFuture<Object> anyOf(CompletableFuture<?>... cfs)
- Параметры:
-
cfs- CompletableFuture - Возвращает:
- новый CompletableFuture, который завершается с результатом или исключением любого из переданных CompletableFuture при завершении одного из них
- Выбрасывает:
-
NullPointerException- если массив или любой из его элементов равенnull
cancel
public boolean cancel(boolean mayInterruptIfRunning)
CancellationException. Зависимые CompletableFuture, которые ещё не завершены, также завершатся аварийно с CompletionException, причиной которого является этот CancellationException.isCancelled
public boolean isCancelled()
true, если этот CompletableFuture был отменён до нормального завершения.- Указано в:
-
isCancelledв интерфейсеFuture<T> - Возвращает:
-
true, если этот CompletableFuture был отменён до нормального завершения
isCompletedExceptionally
public boolean isCompletedExceptionally()
true, если этот CompletableFuture завершился аварийно любым способом. Возможные причины включают отмену, явный вызов
completeExceptionally и внезапное завершение действия CompletionStage.- Возвращает:
-
true, если этот CompletableFuture завершился аварийно
state
obtrudeValue
public void obtrudeValue(T value)
get() и связанными методами, независимо от того, завершён ли объект. Этот метод предназначен только для использования при восстановлении после ошибок; даже в таких ситуациях он может привести к тому, что выполняющиеся зависимые операции завершатся с ранее установленными, а не перезаписанными результатами.- Параметры:
-
value- значение завершения
obtrudeException
public void obtrudeException(Throwable ex)
get() и связанных методов, независимо от того, завершён ли объект. Этот метод предназначен только для использования при восстановлении после ошибок; даже в таких ситуациях он может привести к тому, что выполняющиеся зависимые операции завершатся с ранее установленными, а не перезаписанными результатами.- Параметры:
-
ex- исключение - Выбрасывает:
-
NullPointerException- если исключение равно null
getNumberOfDependents
public int getNumberOfDependents()
- Возвращает:
- количество зависимых CompletableFuture
toString
public String toString()
"Completed normally" или строку
"Completed exceptionally", либо строку "Not
completed", за которой следует количество CompletableFuture, зависящих от его завершения, если таковые имеются.newIncompleteFuture
public <U> CompletableFuture<U> newIncompleteFuture()
- Параметры типа:
U- тип значения- Возвращает:
- новый CompletableFuture
- Начиная с:
- 9
defaultExecutor
public Executor defaultExecutor()
ForkJoinPool.commonPool(), если он поддерживает более одного параллельного потока; в противном случае используется Executor с одним потоком для каждой асинхронной задачи. Подклассы могут переопределить этот метод, чтобы вернуть Executor, предоставляющий по крайней мере один независимый поток.- Возвращает:
- исполнитель
- Начиная с:
- 9
copy
public CompletableFuture<T> copy()
thenApply(x -> x). Этот метод может пригодиться для «защитного копирования», позволяя клиентам не завершать объект самостоятельно и при этом назначать зависимые действия.- Возвращает:
- новый CompletableFuture
- Начиная с:
- 9
minimalCompletionStage
public CompletionStage<T> minimalCompletionStage()
CompletionStage. Если этот CompletableFuture завершается аварийно, возвращаемый CompletionStage завершается аварийно с CompletionException, причиной которого является это исключение. Если подкласс не переопределяет этот метод, из минимального CompletionStage можно получить новый неминимальный CompletableFuture со всеми доступными методами с помощью toCompletableFuture(). Например, завершения минимальной стадии можно дождаться следующим образом:
minimalStage.toCompletableFuture().join();
- Возвращает:
- новый CompletionStage
- Начиная с:
- 9
completeAsync
public CompletableFuture<T> completeAsync(Supplier<? extends T> supplier, Executor executor)
- Параметры:
-
supplier- функция, возвращающая значение, которым следует завершить этот CompletableFuture -
executor- исполнитель, используемый для асинхронного выполнения - Возвращает:
- этот CompletableFuture
- Начиная с:
- 9
completeAsync
public CompletableFuture<T> completeAsync(Supplier<? extends T> supplier)
- Параметры:
-
supplier- функция, возвращающая значение, которым следует завершить этот CompletableFuture - Возвращает:
- этот CompletableFuture
- Начиная с:
- 9
orTimeout
public CompletableFuture<T> orTimeout(long timeout, TimeUnit unit)
TimeoutException, если он не был завершён иным образом до истечения заданного времени ожидания.- Параметры:
-
timeout- время ожидания перед аварийным завершением с TimeoutException, в единицахunit -
unit-TimeUnit, определяющий, как интерпретировать параметрtimeout - Возвращает:
- этот CompletableFuture
- Начиная с:
- 9
completeOnTimeout
public CompletableFuture<T> completeOnTimeout(T value, long timeout, TimeUnit unit)
- Параметры:
-
value- значение, используемое по истечении времени ожидания -
timeout- время ожидания перед нормальным завершением с заданным значением, в единицахunit -
unit-TimeUnit, определяющий, как интерпретировать параметрtimeout - Возвращает:
- этот CompletableFuture
- Начиная с:
- 9
delayedExecutor
public static Executor delayedExecutor(long delay, TimeUnit unit, Executor executor)
execute возвращённого исполнителя.- Параметры:
-
delay- длительность задержки в единицахunit -
unit-TimeUnit, определяющий, как интерпретировать параметрdelay -
executor- базовый исполнитель - Возвращает:
- новый исполнитель с задержкой
- Начиная с:
- 9
delayedExecutor
public static Executor delayedExecutor(long delay, TimeUnit unit)
execute возвращённого исполнителя.- Параметры:
-
delay- длительность задержки в единицахunit -
unit-TimeUnit, определяющий, как интерпретировать параметрdelay - Возвращает:
- новый исполнитель с задержкой
- Начиная с:
- 9
completedStage
public static <U> CompletionStage<U> completedStage(U value)
CompletionStage.- Параметры типа:
U- тип значения- Параметры:
-
value- значение - Возвращает:
- завершённый CompletionStage
- Начиная с:
- 9
failedFuture
public static <U> CompletableFuture<U> failedFuture(Throwable ex)
- Параметры типа:
U- тип значения- Параметры:
-
ex- исключение - Возвращает:
- аварийно завершённый CompletableFuture
- Начиная с:
- 9
failedStage
public static <U> CompletionStage<U> failedStage(Throwable ex)
CompletionStage.- Параметры типа:
U- тип значения- Параметры:
-
ex- исключение - Возвращает:
- аварийно завершённый CompletionStage
- Начиная с:
- 9
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/util/concurrent/CompletableFuture.html