Класс CompletableFuture<T>
- Параметры типа:
T- тип результата, возвращаемый этим будущим в методахjoinиget
- Все реализуемые интерфейсы:
-
CompletionStage<T>,Future<T>
public class CompletableFuture<T> extends Object implements Future<T>, CompletionStage<T>
Future, который можно явно завершить (указав его значение и состояние), и который можно использовать как CompletionStage, поддерживая зависимые функции и действия, которые срабатывают при его завершении. Когда две или более потоков пытаются complete, completeExceptionally или cancel CompletableFuture, только один из них будет успешен.
В дополнение к этим и родственным методам для непосредственного управления состоянием и результатами, CompletableFuture реализует интерфейс CompletionStage со следующими правилами:
- Действия, предоставленные для зависимых завершений методов не-асинхронных, могут быть выполнены потоком, который завершает текущий CompletableFuture, или любым другим вызывающим методом метода завершения.
- Все асинхронные методы без явного аргумента Executor выполняются с помощью
ForkJoinPool.commonPool()(если он не поддерживает уровень параллелизма не менее двух, в этом случае для каждого задания создается новый поток). Это можно переопределить для нестатических методов в подклассах, определив методdefaultExecutor(). Для упрощения мониторинга, отладки и отслеживания все сгенерированные асинхронные задачи являются экземплярами маркера интерфейсаCompletableFuture.AsynchronousCompletionTask. Операции с задержками могут использовать адаптерные методы, определенные в этом классе, например:supplyAsync(supplier, delayedExecutor(timeout, timeUnit)). Для поддержки методов с задержками и тайм-аутами этот класс поддерживает не более одного демонического потока для запуска и отмены действий, а не для их выполнения. - Все методы CompletionStage реализуются независимо от других публичных методов, поэтому поведение одного метода не зависит от переопределений других методов в подклассах.
- Все методы CompletionStage возвращают CompletableFutures. Чтобы ограничить использование только методами, определенными в интерфейсе CompletionStage, используйте метод
minimalCompletionStage(). Или чтобы гарантировать, что клиенты сами не изменяют будущее, используйте методcopy().
CompletableFuture также реализует Future со следующими правилами:
- Поскольку (в отличие от
FutureTask) этот класс не имеет прямого контроля над вычислением, которое приводит к его завершению, отмена обрабатывается как просто еще одна форма исключительного завершения. Методcancelимеет тот же эффект, что иcompleteExceptionally(new CancellationException()). МетодisCompletedExceptionally()можно использовать для определения, завершился ли CompletableFuture каким-либо исключительным способом. - В случае исключительного завершения с CompletionException, методы
get()иget(long, TimeUnit)выбрасываютExecutionExceptionс тем же источником, что и в соответствующем CompletionException. Для упрощения использования в большинстве контекстов, этот класс также определяет методыjoin()иgetNow(T), которые вместо этого непосредственно выбрасывают CompletionException в таких случаях.
Аргументы, используемые для передачи результата завершения (то есть для параметров типа T) для методов, принимающих их, могут быть null, но передача null-значения для любого другого параметра приведет к тому, что будет сгенерировано исключение NullPointerException.
Подклассы этого класса обычно должны переопределять метод «виртуального конструктора» newIncompleteFuture(), который устанавливает конкретный тип, возвращаемый методами CompletionStage. Например, вот класс, который заменяет другой значения по умолчанию 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. |
Вложенные классы/интерфейсы, объявленные в интерфейсе java.util.concurrent.Future
Future.State
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
CompletableFuture() |
Создает новый неполный CompletableFuture. |
Краткое описание методов
| Modifier and Type | Method | Description |
|---|---|---|
CompletableFuture |
acceptEither |
Возвращает новый CompletionStage, который, когда этот или другой заданный этап завершатся нормально, выполняется с соответствующим результатом в качестве аргумента для предоставленного действия. |
CompletableFuture |
acceptEitherAsync |
Возвращает новый CompletionStage, который, когда этот или другой заданный этап завершатся нормально, выполняется с использованием стандартного асинхронного механизма выполнения этого этапа, с соответствующим результатом в качестве аргумента для предоставленного действия. |
CompletableFuture |
acceptEitherAsync |
Возвращает новый CompletionStage, который, когда этот или другой заданный этап завершатся нормально, выполняется с использованием предоставленного исполнителя, с соответствующим результатом в качестве аргумента для предоставленного действия. |
static CompletableFuture |
allOf |
Возвращает новый CompletableFuture, который завершается, когда все заданные CompletableFutures завершатся. |
static CompletableFuture |
anyOf |
Возвращает новый CompletableFuture, который завершается, когда любой из заданных CompletableFutures завершится, с тем же результатом. |
<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 |
Если еще не завершен, вызывает исключения invocations методов get() и связанных методов с указанным исключением. |
CompletableFuture |
completeOnTimeout |
Завершает этот CompletableFuture заданным значением, если он еще не завершен до истечения заданного таймаута. |
CompletableFuture |
copy() |
Возвращает новый CompletableFuture, который завершается нормально тем же значением, что и этот CompletableFuture, когда он завершается нормально. |
Executor |
defaultExecutor() |
Возвращает стандартный исполнитель, используемый для асинхронных методов, которые не задают исполнителя. |
static Executor |
delayedExecutor |
Возвращает новый исполнитель, который отправляет задачу в стандартный исполнитель после заданной задержки (или без задержки, если она не положительна). |
static Executor |
delayedExecutor |
Возвращает новый исполнитель, который отправляет задачу в заданный базовый исполнитель после заданной задержки (или без задержки, если она не положительна). |
CompletableFuture |
exceptionally |
Возвращает новый CompletionStage, который, когда этот этап завершается с исключением, выполняется с исключением этого этапа в качестве аргумента предоставленной функции. |
CompletableFuture |
exceptionallyAsync |
Возвращает новый CompletionStage, который, когда этот этап завершается с исключением, выполняется с исключением этого этапа в качестве аргумента предоставленной функции, используя стандартный асинхронный механизм выполнения этого этапа. |
CompletableFuture |
exceptionallyAsync |
Возвращает новый CompletionStage, который, когда этот этап завершается с исключением, выполняется с исключением этого этапа в качестве аргумента предоставленной функции, используя предоставленного исполнителя. |
CompletableFuture |
exceptionallyCompose |
Возвращает новый CompletionStage, который, когда этот этап завершается с исключением, составляется с результатами предоставленной функции, примененной к исключению этого этапа. |
CompletableFuture |
exceptionallyComposeAsync |
Возвращает новый CompletionStage, который, когда этот этап завершается с исключением, составляется с результатами предоставленной функции, примененной к исключению этого этапа, используя стандартный асинхронный механизм выполнения этого этапа. |
CompletableFuture |
exceptionallyComposeAsync |
Возвращает новый CompletionStage, который, когда этот этап завершается с исключением, составляется с результатами предоставленной функции, примененной к исключению этого этапа, используя предоставленного исполнителя. |
Throwable |
exceptionNow() |
Возвращает исключение, брошенное задачей, без ожидания. |
static <U> CompletableFuture |
failedFuture |
Возвращает новый CompletableFuture, который уже завершен с указанным исключением. |
static <U> CompletionStage |
failedStage |
Возвращает новый CompletionStage, который уже завершен с указанным исключением и поддерживает только те методы в интерфейсе CompletionStage. |
T |
get() |
Ожидает, если необходимо, завершения этого будущего и возвращает его результат. |
T |
get |
Ожидает, если необходимо, не более заданного времени завершения этого будущего и возвращает его результат, если он доступен. |
T |
getNow |
Возвращает значение результата (или бросает любое встреченное исключение), если завершено, иначе возвращает valueIfAbsent. |
int |
getNumberOfDependents() |
Возвращает приблизительное количество CompletableFutures, ожидание завершения которых зависит от завершения этого 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, который, когда этот и другой заданные этапы завершаются нормально, выполняет заданное действие, используя предоставленный Executor. |
CompletableFuture |
runAfterEither |
Возвращает новый CompletionStage, который, когда любой из этого или другого заданного этапов завершается нормально, выполняет заданное действие. |
CompletableFuture |
runAfterEitherAsync |
Возвращает новый CompletionStage, который, когда любой из этого или другого заданного этапов завершается нормально, выполняет заданное действие, используя стандартное асинхронное средство выполнения этого этапа. |
CompletableFuture |
runAfterEitherAsync |
Возвращает новый CompletionStage, который, когда любой из этого или другого заданного этапов завершается нормально, выполняет заданное действие, используя предоставленный Executor. |
static CompletableFuture |
runAsync |
Возвращает новый CompletableFuture, асинхронно завершаемый задачей, выполняемой в ForkJoinPool.commonPool() после выполнения заданного действия. |
static CompletableFuture |
runAsync |
Возвращает новый CompletableFuture, асинхронно завершаемый задачей, выполняемой в заданном Executor после выполнения заданного действия. |
Future.State |
state() |
Возвращает состояние вычисления. |
static <U> CompletableFuture |
supplyAsync |
Возвращает новый CompletableFuture, асинхронно завершаемый задачей, выполняемой в ForkJoinPool.commonPool() со значением, полученным при вызове заданного Supplier. |
static <U> CompletableFuture |
supplyAsync |
Возвращает новый CompletableFuture, асинхронно завершаемый задачей, выполняемой в заданном Executor со значением, полученным при вызове заданного Supplier. |
CompletableFuture |
thenAccept |
Возвращает новый CompletionStage, который, когда этот этап завершается нормально, выполняется со значением этого этапа в качестве аргумента для предоставленного действия. |
CompletableFuture |
thenAcceptAsync |
Возвращает новый CompletionStage, который, когда этот этап завершается нормально, выполняется, используя стандартное асинхронное средство выполнения этого этапа, со значением этого этапа в качестве аргумента для предоставленного действия. |
CompletableFuture |
thenAcceptAsync |
Возвращает новый CompletionStage, который, когда этот этап завершается нормально, выполняется, используя предоставленный Executor, со значением этого этапа в качестве аргумента для предоставленного действия. |
<U> CompletableFuture |
thenAcceptBoth |
Возвращает новый CompletionStage, который, когда этот и другой заданные этапы завершаются нормально, выполняется со значениями двух результатов в качестве аргументов для предоставленного действия. |
<U> CompletableFuture |
thenAcceptBothAsync |
Возвращает новый CompletionStage, который, когда этот и другой заданные этапы завершаются нормально, выполняется, используя стандартное асинхронное средство выполнения этого этапа, со значениями двух результатов в качестве аргументов для предоставленного действия. |
<U> CompletableFuture |
thenAcceptBothAsync |
Возвращает новый CompletionStage, который, когда этот и другой заданные этапы завершаются нормально, выполняется, используя предоставленный Executor, со значениями двух результатов в качестве аргументов для предоставленного действия. |
<U> CompletableFuture |
thenApply |
Возвращает новый CompletionStage, который, когда этот этап завершается нормально, выполняется со значением этого этапа в качестве аргумента для предоставленной функции. |
<U> CompletableFuture |
thenApplyAsync |
Возвращает новый CompletionStage, который, когда этот этап завершается нормально, выполняется, используя стандартное асинхронное средство выполнения этого этапа, со значением этого этапа в качестве аргумента для предоставленной функции. |
<U> CompletableFuture |
thenApplyAsync |
Возвращает новый CompletionStage, который, когда этот этап завершается нормально, выполняется, используя предоставленный Executor, со значением этого этапа в качестве аргумента для предоставленной функции. |
<U, |
thenCombine |
Возвращает новый CompletionStage, который, когда этот и другой заданные этапы завершаются нормально, выполняется со значениями двух результатов в качестве аргументов для предоставленной функции. |
<U, |
thenCombineAsync |
Возвращает новый CompletionStage, который, когда этот и другой заданные этапы завершаются нормально, выполняется, используя стандартное асинхронное средство выполнения этого этапа, со значениями двух результатов в качестве аргументов для предоставленной функции. |
<U, |
thenCombineAsync |
Возвращает новый CompletionStage, который, когда этот и другой заданные этапы завершаются нормально, выполняется, используя предоставленный Executor, со значениями двух результатов в качестве аргументов для предоставленной функции. |
<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- если это будущее было отменено -
ExecutionException- если это будущее завершилось с исключением -
InterruptedException- если текущий поток был прерван во время ожидания
get
public T get(long timeout, TimeUnit unit) throws InterruptedException, ExecutionException, TimeoutException
- Определено в:
-
getв интерфейсеFuture<T> - Параметры:
-
timeout- максимальное время ожидания -
unit- единица измерения времени для аргумента таймаута - Возвращает:
- значение результата
- Выбрасывает:
-
CancellationException- если это будущее было отменено -
ExecutionException- если это будущее завершилось с исключением -
InterruptedException- если текущий поток был прерван во время ожидания -
TimeoutException- если ожидание истекло
join
public T join()
CompletionException с базовым исключением в качестве причины.- Возвращает:
- значение результата
- Выбрасывает:
-
CancellationException- если вычисление было отменено -
CompletionException- если это будущее завершилось с исключением или вычисление завершения выбросило исключение
getNow
public T getNow(T valueIfAbsent)
- Параметры:
-
valueIfAbsent- значение, которое нужно вернуть, если не завершено - Возвращает:
- значение результата, если завершено, иначе заданное значение valueIfAbsent
- Выбрасывает:
-
CancellationException- если вычисление было отменено -
CompletionException- если это будущее завершилось с исключением или вычисление завершения выбросило исключение
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- 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- 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- 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- 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- 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- executor, используемый для асинхронного выполнения - Возвращает:
- новый CompletionStage
toCompletableFuture
public CompletableFuture<T> toCompletableFuture()
- Определено в:
-
toCompletableFutureв интерфейсеCompletionStage<T> - Возвращает:
- этот CompletableFuture
исключительно
public CompletableFuture<T> exceptionally(Function<Throwable, ? extends T> fn)
CompletionStage- Указано в:
-
exceptionallyв интерфейсеCompletionStage<T> - Параметры:
-
fn- функция, используемая для вычисления значения возвращаемого CompletionStage, если этот CompletionStage завершился исключением - Возвращает:
- новый CompletionStage
исключительноАсинхронно
public CompletableFuture<T> exceptionallyAsync(Function<Throwable, ? extends T> fn)
CompletionStage- Указано в:
-
exceptionallyAsyncв интерфейсеCompletionStage<T> - Параметры:
-
fn- функция, используемая для вычисления значения возвращаемого CompletionStage, если этот CompletionStage завершился исключением - Возвращает:
- новый CompletionStage
- С:
- 12
исключительноАсинхронно
public CompletableFuture<T> exceptionallyAsync(Function<Throwable, ? extends T> fn, Executor executor)
CompletionStage- Указано в:
-
exceptionallyAsyncв интерфейсеCompletionStage<T> - Параметры:
-
fn- функция, используемая для вычисления значения возвращаемого CompletionStage, если этот CompletionStage завершился исключением -
executor- executor для использования в асинхронном выполнении - Возвращает:
- новый CompletionStage
- С:
- 12
исключительноКомпоновать
public CompletableFuture<T> exceptionallyCompose(Function<Throwable, ? extends CompletionStage<T>> fn)
CompletionStage- Указано в:
-
exceptionallyComposeв интерфейсеCompletionStage<T> - Параметры:
-
fn- функция, используемая для вычисления возвращаемого CompletionStage, если этот CompletionStage завершился исключением - Возвращает:
- новый CompletionStage
- С:
- 12
исключительноКомпоноватьАсинхронно
public CompletableFuture<T> exceptionallyComposeAsync(Function<Throwable, ? extends CompletionStage<T>> fn)
CompletionStage- Указано в:
-
exceptionallyComposeAsyncв интерфейсеCompletionStage<T> - Параметры:
-
fn- функция, используемая для вычисления возвращаемого CompletionStage, если этот CompletionStage завершился исключением - Возвращает:
- новый CompletionStage
- С:
- 12
исключительноКомпоноватьАсинхронно
public CompletableFuture<T> exceptionallyComposeAsync(Function<Throwable, ? extends CompletionStage<T>> fn, Executor executor)
CompletionStage- Указано в:
-
exceptionallyComposeAsyncв интерфейсеCompletionStage<T> - Параметры:
-
fn- функция, используемая для вычисления возвращаемого CompletionStage, если этот CompletionStage завершился исключением -
executor- executor для использования в асинхронном выполнении - Возвращает:
- новый CompletionStage
- С:
- 12
allOf
public static CompletableFuture<Void> allOf(CompletableFuture<?>... cfs)
null. Одно из применений этого метода - ожидание завершения набора независимых CompletableFutures перед продолжением программы, как в: NullPointerException.
- Параметры:
-
cfs- CompletableFutures - Возвращает:
- новый CompletableFuture, который завершается, когда все заданные CompletableFutures завершаются
- Исключения:
-
NullPointerException- если массив или любой из его элементов являютсяnull
anyOf
public static CompletableFuture<Object> anyOf(CompletableFuture<?>... cfs)
- Параметры:
-
cfs- CompletableFutures - Возвращает:
- новый CompletableFuture, который завершается результатом или исключением любого из заданных CompletableFutures при завершении одного
- Исключения:
-
NullPointerException- если массив или любой из его элементов являютсяnull
отменить
public boolean cancel(boolean mayInterruptIfRunning)
CancellationException. Зависимые CompletableFutures, которые ещё не завершились, также завершатся исключением с CompletionException, вызванным этим CancellationException.отменён
public boolean isCancelled()
true, если этот CompletableFuture был отменён до нормального завершения.- Указано в:
-
isCancelledв интерфейсеFuture<T> - Возвращает:
-
true, если этот CompletableFuture был отменён до нормального завершения
исключительноЗавершён
public boolean isCompletedExceptionally()
true, если этот CompletableFuture завершился исключением каким-либо способом. Возможные причины включают отмену, явное обращение к
completeExceptionally и внезапное завершение действия CompletionStage.- Возвращает:
-
true, если этот CompletableFuture завершился исключением
состояние
навязатьЗначение
public void obtrudeValue(T value)
get() и связанными методами, независимо от того, завершён ли он уже. Этот метод предназначен только для использования в действиях восстановления ошибок, и даже в таких ситуациях может привести к продолжающимся зависимым завершениям с использованием установленных, а не перезаписанных результатов.- Параметры:
-
value- значение завершения
obtrudeException
public void obtrudeException(Throwable ex)
get() и связанных методов с выбрасыванием указанной ошибки, независимо от того, завершилось ли выполнение. Данный метод предназначен только для действий по восстановлению от ошибок и даже в таких ситуациях может привести к продолжению зависимых завершений, используя установленные, а не перезаписанные результаты.- Parameters:
-
ex- ошибка - Throws:
-
NullPointerException- если ошибка равна null
getNumberOfDependents
public int getNumberOfDependents()
- Returns:
- количество зависимых CompletableFutures
toString
public String toString()
"Completed normally" или строку
"Completed exceptionally", или строку "Not
completed", за которой следует количество CompletableFutures, зависящих от его завершения, если таковые имеются.newIncompleteFuture
public <U> CompletableFuture<U> newIncompleteFuture()
- Type Parameters:
U- тип значения- Returns:
- новый CompletableFuture
- Since:
- 9
defaultExecutor
public Executor defaultExecutor()
ForkJoinPool.commonPool(), если он поддерживает более одной параллельной нити, в противном случае Executor, использующий по одной нити на асинхронную задачу. Этот метод можно переопределить в подклассах, чтобы вернуть Executor, предоставляющий по крайней мере одну независимую нить.- Returns:
- executor
- Since:
- 9
copy
public CompletableFuture<T> copy()
thenApply(x -> x). Этот метод может быть полезен в качестве «защитного копирования», чтобы предотвратить завершение клиентами, но при этом позволить организовывать зависимые действия.- Returns:
- новый CompletableFuture
- Since:
- 9
minimalCompletionStage
public CompletionStage<T> minimalCompletionStage()
CompletionStage. Если этот CompletableFuture завершается с ошибкой, то возвращаемый CompletionStage завершается с ошибкой CompletionException с этой ошибкой в качестве причины. Если не переопределено в подклассе, новый не минимальный CompletableFuture со всеми доступными методами можно получить из минимального CompletionStage через toCompletableFuture(). Например, завершение минимального этапа может быть ожидаемо
minimalStage.toCompletableFuture().join();
- Returns:
- новый CompletionStage
- Since:
- 9
completeAsync
public CompletableFuture<T> completeAsync(Supplier<? extends T> supplier, Executor executor)
- Parameters:
-
supplier- функция, возвращающая значение для завершения этого CompletableFuture -
executor- Executor для использования в асинхронном выполнении - Returns:
- this CompletableFuture
- Since:
- 9
completeAsync
public CompletableFuture<T> completeAsync(Supplier<? extends T> supplier)
- Parameters:
-
supplier- функция, возвращающая значение для завершения этого CompletableFuture - Returns:
- this CompletableFuture
- Since:
- 9
orTimeout
public CompletableFuture<T> orTimeout(long timeout, TimeUnit unit)
TimeoutException, если он не завершится иначе до истечения заданного таймаута.- Parameters:
-
timeout- время ожидания до завершения с ошибкой TimeoutException, в единицахunit -
unit- единица измеренияTimeUnit, определяющая, как интерпретировать параметрtimeout - Returns:
- this CompletableFuture
- Since:
- 9
completeOnTimeout
public CompletableFuture<T> completeOnTimeout(T value, long timeout, TimeUnit unit)
- Parameters:
-
value- значение для использования при таймауте -
timeout- время ожидания до нормального завершения со значением, в единицахunit -
unit- единица измеренияTimeUnit, определяющая, как интерпретировать параметрtimeout - Returns:
- this CompletableFuture
- Since:
- 9
delayedExecutor
public static Executor delayedExecutor(long delay, TimeUnit unit, Executor executor)
execute возвращенного Executor.- Parameters:
-
delay- длительность задержки в единицахunit -
unit- единица измеренияTimeUnit, определяющая, как интерпретировать параметрdelay -
executor- базовый Executor - Returns:
- новый Executor с задержкой
- Since:
- 9
delayedExecutor
public static Executor delayedExecutor(long delay, TimeUnit unit)
execute возвращенного Executor.- Parameters:
-
delay- длительность задержки в единицахunit -
unit- единица измеренияTimeUnit, определяющая, как интерпретировать параметрdelay - Returns:
- новый Executor с задержкой
- Since:
- 9
completedStage
public static <U> CompletionStage<U> completedStage(U value)
CompletionStage.- Type Parameters:
U- тип значения- Parameters:
-
value- значение - Returns:
- завершенный CompletionStage
- Since:
- 9
failedFuture
public static <U> CompletableFuture<U> failedFuture(Throwable ex)
- Type Parameters:
U- тип значения- Parameters:
-
ex- исключение - Returns:
- исключительно завершенный CompletableFuture
- Since:
- 9
failedStage
public static <U> CompletionStage<U> failedStage(Throwable ex)
CompletionStage.- Type Parameters:
U- тип значения- Parameters:
-
ex- исключение - Returns:
- исключительно завершенный CompletionStage
- Since:
- 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/util/concurrent/CompletableFuture.html