CompletableFuture Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Объект Future , который может быть явно завершен (задать его значение и состояние), и может использоваться в качестве CompletionStageподдержки зависимых функций и действий, которые активируются после его завершения.
[Android.Runtime.Register("java/util/concurrent/CompletableFuture", ApiSince=24, DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "T" })]
public class CompletableFuture : Java.Lang.Object, IDisposable, Java.Util.Concurrent.ICompletionStage, Java.Util.Concurrent.IFuture
[<Android.Runtime.Register("java/util/concurrent/CompletableFuture", ApiSince=24, DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "T" })>]
type CompletableFuture = class
inherit Object
interface ICompletionStage
interface IJavaObject
interface IDisposable
interface IJavaPeerable
interface IFuture
- Наследование
- Атрибуты
- Реализации
Комментарии
Объект Future , который может быть явно завершен (задать его значение и состояние), и может использоваться в качестве CompletionStageподдержки зависимых функций и действий, которые активируются после его завершения.
При попытке #complete complete#completeExceptionally completeExceptionallyдвух или нескольких потоков выполнить попытку (или #cancel cancel завершение) выполняется только один из них.
Помимо этих и связанных методов для непосредственного управления состоянием и результатами, CompletableFuture реализует интерфейс CompletionStage со следующими политиками: ul: <>
<li>Действия, предоставляемые для зависимых завершений методов em<, отличных >от async</em>, могут выполняться потоком, который завершает текущий CompleteableFuture или любым другим вызывающим методом завершения.
<li>Все <методы em async>/em<> без явного аргумента исполнителя выполняются с помощью ForkJoinPool#commonPool() (если он не поддерживает уровень параллелизма не менее двух, в этом случае создается новый поток для выполнения каждой задачи). Для упрощения мониторинга, отладки и отслеживания все созданные асинхронные задачи являются экземплярами интерфейса AsynchronousCompletionTaskмаркера. Операции с задержками времени могут использовать методы адаптера, определенные в этом классе, например: supplyAsync(supplier, delayedExecutor(timeout, timeUnit)) Чтобы поддерживать методы с задержками и временем ожидания, этот класс поддерживает не более одного потока управляющей программы для активации и отмены действий, а не для их выполнения.
<li>All CompletionStage методы реализуются независимо от других общедоступных методов, поэтому поведение одного метода не влияет на переопределение других в подклассах.
</ul>
ЗавершеннаяFuture также реализуется Future со следующими политиками: <ul>
<li>Поскольку (в отличие FutureTaskот) этот класс не имеет прямого контроля над вычислениями, которые вызывают его завершение, отмена рассматривается как только другая форма исключительного завершения. Метод #cancel cancel имеет тот же эффект, что completeExceptionally(new CancellationException())и метод. Метод #isCompletedExceptionally можно использовать для определения того, завершена ли Завершенная функция CompleteableFuture в любом исключительном виде.
<li>В случае исключительного завершения с помощью метода CompletionException методы #get() и вызовите ту же причину#get(long, TimeUnit), что и ExecutionException в соответствующем завершенииException. Чтобы упростить использование в большинстве контекстов, этот класс также определяет методы #join() , а #getNow вместо этого вызывает завершениеException непосредственно в этих случаях.
</ul>
Аргументы, используемые для передачи результата завершения (то есть для параметров типа T) для методов, принимаюющих их, могут иметь значение NULL, но передача значения NULL для любого другого параметра приведет к NullPointerException возникновению.
Добавлено в версии 1.8.
Java документации по java.util.concurrent.CompletableFuture.
Части этой страницы — это изменения на основе работы, созданной и общей Project и используемых в соответствии с условиями, описанными в разделе "".
Конструкторы
| Имя. | Описание |
|---|---|
| CompletableFuture() |
Создает новый неполный завершенныйfufuture. |
| CompletableFuture(IntPtr, JniHandleOwnership) |
Объект |
Свойства
| Имя. | Описание |
|---|---|
| Class |
Возвращает класс среды выполнения этого |
| Handle |
Дескриптор базового экземпляра Android. (Унаследовано от Object) |
| IsCancelled |
Возвращает, |
| IsCompletedExceptionally |
Возвращается |
| IsDone |
Возвращается |
| JniIdentityHashCode |
Возвращает хэш-код удостоверения, назначенный этому Java одноранговой среде выполнения взаимодействия. (Унаследовано от Object) |
| JniManagedPeerState |
Объект |
| JniPeerMembers |
Объект |
| NumberOfDependents |
Возвращает предполагаемое количество завершений ЗавершенныхFutures, завершения которых ожидают завершения этого объекта CompletionableFuture. |
| PeerReference |
Возвращает ссылку на объект JNI для этого Java однорангового узла. (Унаследовано от Object) |
| ThresholdClass |
Объект |
| ThresholdType |
Объект |
Методы
| Имя. | Описание |
|---|---|
| AcceptEither(ICompletionStage, IConsumer) |
Возвращает новый объект CompleteStage, который при выполнении этого или другого этапа обычно выполняется с соответствующим результатом в качестве аргумента предоставленного действия. |
| AcceptEitherAsync(ICompletionStage, IConsumer, IExecutor) |
Возвращает новый объект CompleteStage, который, когда этот или другой этап завершен обычно, выполняется с помощью предоставленного исполнителя, с соответствующим результатом в качестве аргумента предоставленного действия. |
| AcceptEitherAsync(ICompletionStage, IConsumer) |
Возвращает новый объект завершения, который, когда этот или другой этап завершен обычно, выполняется с помощью средства асинхронного выполнения этого этапа по умолчанию с соответствующим результатом в качестве аргумента предоставленного действия. |
| AllOf(CompletableFuture[]) |
Возвращает новое завершение CompleteableFuture, которое завершается после завершения всех указанных завершений CompleteableFutures. |
| AnyOf(CompletableFuture[]) |
Возвращает новый completeableFuture, который завершается, когда любой из указанных ЗавершенныхFutures завершается с тем же результатом. |
| ApplyToEither(ICompletionStage, IFunction) |
Возвращает новый объект CompleteStage, который, когда этот или другой этап завершен обычно, выполняется с соответствующим результатом в качестве аргумента предоставленной функции. |
| ApplyToEitherAsync(ICompletionStage, IFunction, IExecutor) |
Возвращает новый объект CompleteStage, который, когда этот или другой этап завершен обычно, выполняется с помощью предоставленного исполнителя, с соответствующим результатом в качестве аргумента предоставленной функции. |
| ApplyToEitherAsync(ICompletionStage, IFunction) |
Возвращает новый объект completeStage, который, когда этот или другой этап завершен обычно, выполняется с помощью асинхронного объекта выполнения этого этапа по умолчанию с соответствующим результатом в качестве аргумента предоставленной функции. |
| Cancel(Boolean) |
Если оно еще не завершено, завершится с помощью |
| Clone() |
Создает и возвращает копию этого объекта. (Унаследовано от Object) |
| Complete(Object) |
Если оно еще не завершено, задает значение, возвращаемое |
| CompleteAsync(ISupplier, IExecutor) |
Завершает этот completeableFuture с результатом заданной функции поставщика, вызываемой из асинхронной задачи с помощью заданного исполнителя. |
| CompleteAsync(ISupplier) |
Завершает этот completeableFuture с результатом заданной функции поставщика, вызываемой из асинхронной задачи с помощью исполнителя по умолчанию. |
| CompletedFuture(Object) |
Возвращает новый completeableFuture, который уже завершен с заданным значением. |
| CompletedStage(Object) |
Возвращает новый объект CompleteStage, который уже завершен с заданным значением и поддерживает только эти методы в интерфейсе |
| CompleteExceptionally(Throwable) |
Если оно еще не завершено, вызывает вызовы и связанные методы |
| CompleteOnTimeout(Object, Int64, TimeUnit) |
Завершает этот completeableFuture с заданным значением, если оно не завершено до заданного времени ожидания. |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
Объект |
| Copy() |
Возвращает новое завершение CompleteableFuture, которое обычно завершается с тем же значением, что и completeableFuture при обычном завершении. |
| DefaultExecutor() |
Возвращает исполнителя по умолчанию, используемого для асинхронных методов, которые не указывают исполнителя. |
| DelayedExecutor(Int64, TimeUnit, IExecutor) |
Возвращает новый исполнитель, который отправляет задачу заданному базовому исполнителю после заданной задержки (или нет задержки, если не положительно). |
| DelayedExecutor(Int64, TimeUnit) |
Возвращает новый исполнитель, который отправляет задачу исполнителю по умолчанию после указанной задержки (или нет задержки, если не положительно). |
| Dispose() |
Освобождает ресурсы, удерживаемые этим Java одноранговым узлом. (Унаследовано от Object) |
| Dispose(Boolean) |
Освобождает ресурсы, удерживаемые этим Java одноранговым узлом. (Унаследовано от Object) |
| DisposeUnlessReferenced() |
Объект |
| Equals(Object) |
Объект |
| Equals(Object) |
Указывает, равен ли другой объект этому объекту. (Унаследовано от Object) |
| Exceptionally(IFunction) |
Возвращает новый completeableFuture, завершенный после завершения этого завершения CompleteableFuture, с результатом данной функции исключения, активируемой выполнением этого завершения CompleteableFuture, когда оно завершается исключительно; В противном случае, если этот completeableFuture завершается обычно, возвращенный CompleteableFuture также завершается обычно с тем же значением. |
| ExceptionallyAsync(IFunction, IExecutor) |
Объект |
| ExceptionallyAsync(IFunction) |
Объект |
| ExceptionallyCompose(IFunction) |
Объект |
| ExceptionallyComposeAsync(IFunction, IExecutor) |
Объект |
| ExceptionallyComposeAsync(IFunction) |
Объект |
| ExceptionNow() |
Объект |
| FailedFuture(Throwable) |
Возвращает новый CompleteableFuture, который уже завершен исключительно с указанным исключением. |
| FailedStage(Throwable) |
Возвращает новый объект CompleteStage, который уже завершен исключительно с заданным исключением и поддерживает только эти методы в интерфейсе |
| Get() |
Ожидает, если это необходимо для завершения этого будущего, а затем возвращает результат. |
| Get(Int64, TimeUnit) |
Ожидает, если это необходимо, по крайней мере заданное время для завершения этого будущего, а затем возвращает его результат, если он доступен. |
| GetHashCode() |
Возвращает хэш-значение кода для объекта. (Унаследовано от Object) |
| GetNow(Object) |
Возвращает значение результата (или вызывает любое обнаруженное исключение), если оно завершено, в противном случае возвращает заданное значениеIfAbsent. |
| Handle(IBiFunction) |
Возвращает новый объект CompleteStage, который, когда этот этап завершается как обычно, так и исключительно, выполняется с результатом этого этапа и исключением в качестве аргументов для предоставленной функции. |
| HandleAsync(IBiFunction, IExecutor) |
Возвращает новый объект CompleteStage, который, когда этот этап завершается как обычно, так и исключительно, выполняется с помощью предоставленного исполнителя, с результатом этого этапа и исключением в качестве аргументов предоставленной функции. |
| HandleAsync(IBiFunction) |
Возвращает новый объект completeStage, который, когда этот этап завершается как обычно, так и исключительно, выполняется с помощью объекта асинхронного выполнения этого этапа по умолчанию, с результатом этого этапа и исключением в качестве аргументов предоставленной функции. |
| JavaFinalize() |
Устаревшие.
Вызывается сборщиком мусора в объекте, когда сборка мусора определяет, что больше ссылок на объект нет. (Унаследовано от Object) |
| Join() |
Возвращает значение результата при завершении или вызывает исключение (снято), если оно завершено исключительно. |
| MinimalCompletionStage() |
Возвращает новое значение CompleteStage, которое обычно завершается с тем же значением, что и completeableFuture, когда оно завершается нормально, и не может быть независимо завершено или иным образом использоваться способами, не определенными методами интерфейса |
| NewIncompleteFuture() |
Возвращает новый неполный ЗавершенныйFuture типа, возвращаемого методом CompletionStage. |
| Notify() |
Просыпается один поток, ожидающий монитора этого объекта. (Унаследовано от Object) |
| NotifyAll() |
Просыпает все потоки, ожидающие монитора этого объекта. (Унаследовано от Object) |
| ObtrudeException(Throwable) |
Принудительно вызывает последующие вызовы метода |
| ObtrudeValue(Object) |
Принудительно задает или сбрасывает значение, возвращаемое методом |
| OrTimeout(Int64, TimeUnit) |
Исключительно завершается этот completeableFuture с параметром, |
| ResultNow() |
Объект |
| RunAfterBoth(ICompletionStage, IRunnable) |
Возвращает новый этап завершения, который, когда этот и другой этап выполняются как обычно, выполняет заданное действие. |
| RunAfterBothAsync(ICompletionStage, IRunnable, IExecutor) |
Возвращает новый объект CompleteStage, который, когда этот и другой этап выполняются как обычно, выполняет заданное действие с помощью предоставленного исполнителя. |
| RunAfterBothAsync(ICompletionStage, IRunnable) |
Возвращает новый этап завершения, который, когда этот и другой этап выполняются нормально, выполняет заданное действие с помощью асинхронного объекта выполнения этого этапа по умолчанию. |
| RunAfterEither(ICompletionStage, IRunnable) |
Возвращает новый этап завершения, который, когда выполнение данного или другого этапа выполняется обычно. |
| RunAfterEitherAsync(ICompletionStage, IRunnable, IExecutor) |
Возвращает новый объект CompleteStage, который, когда этот или другой этап завершен обычно, выполняет заданное действие с помощью предоставленного исполнителя. |
| RunAfterEitherAsync(ICompletionStage, IRunnable) |
Возвращает новый этап завершения, который, когда этот или другой этап завершен обычно, выполняет заданное действие с помощью средства асинхронного выполнения этого этапа по умолчанию. |
| RunAsync(IRunnable, IExecutor) |
Возвращает новый CompleteableFuture, который асинхронно завершен задачей, запущенной в заданном исполнителе после выполнения заданного действия. |
| RunAsync(IRunnable) |
Возвращает новый completeableFuture, который асинхронно завершен задачей, запущенной в |
| SetHandle(IntPtr, JniHandleOwnership) |
Задает свойство Handle. (Унаследовано от Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
Объект |
| State() |
Объект |
| SupplyAsync(ISupplier, IExecutor) |
Возвращает новый CompleteableFuture, который асинхронно завершен задачей, выполняемой в заданном исполнителе, со значением, полученным путем вызова данного поставщика. |
| SupplyAsync(ISupplier) |
Возвращает новый completeableFuture, который асинхронно завершен задачей, выполняемой в |
| ThenAccept(IConsumer) |
Возвращает новый этап завершения, который, когда этот этап завершается обычно, выполняется с результатом этого этапа в качестве аргумента предоставленного действия. |
| ThenAcceptAsync(IConsumer, IExecutor) |
Возвращает новый этап завершения, который, когда этот этап завершается обычно, выполняется с помощью предоставленного исполнителя, с результатом этого этапа в качестве аргумента предоставленного действия. |
| ThenAcceptAsync(IConsumer) |
Возвращает новый объект завершения, который, когда этот этап завершается обычно, выполняется с помощью объекта асинхронного выполнения этого этапа по умолчанию, с результатом этого этапа в качестве аргумента предоставленного действия. |
| ThenAcceptBoth(ICompletionStage, IBiConsumer) |
Возвращает новый объект CompleteStage, который, когда этот и другой этап выполняются как обычно, выполняется с двумя результатами в качестве аргументов предоставленного действия. |
| ThenAcceptBothAsync(ICompletionStage, IBiConsumer, IExecutor) |
Возвращает новый объект CompleteStage, который, когда этот и другой этап выполняются как обычно, выполняется с помощью предоставленного исполнителя, с двумя результатами в качестве аргументов для предоставленного действия. |
| ThenAcceptBothAsync(ICompletionStage, IBiConsumer) |
Возвращает новый объект завершения, который, когда этот и другой этап выполняются обычно с помощью асинхронного выполнения этого этапа по умолчанию, с двумя результатами в качестве аргументов предоставленного действия. |
| ThenApply(IFunction) |
Возвращает новый объект CompleteStage, который, когда этот этап завершается обычно, выполняется с результатом этого этапа в качестве аргумента предоставленной функции. |
| ThenApplyAsync(IFunction, IExecutor) |
Возвращает новый этап завершения, который, когда этот этап завершается обычно, выполняется с помощью предоставленного исполнителя, с результатом этого этапа в качестве аргумента предоставленной функции. |
| ThenApplyAsync(IFunction) |
Возвращает новый объект завершения, который, когда этот этап завершается обычно, выполняется с помощью средства асинхронного выполнения этого этапа по умолчанию, с результатом этого этапа в качестве аргумента предоставленной функции. |
| ThenCombine(ICompletionStage, IBiFunction) |
Возвращает новый объект CompleteStage, который, когда этот и другой этап выполняются как обычно, выполняется с двумя результатами в качестве аргументов для предоставленной функции. |
| ThenCombineAsync(ICompletionStage, IBiFunction, IExecutor) |
Возвращает новый объект CompleteStage, который, когда этот и другой этап выполняются как обычно, выполняется с помощью предоставленного исполнителя, с двумя результатами в качестве аргументов для предоставленной функции. |
| ThenCombineAsync(ICompletionStage, IBiFunction) |
Возвращает новый объект завершения, который, когда этот и другой этап выполняются обычно с помощью асинхронного выполнения этого этапа по умолчанию, с двумя результатами в качестве аргументов предоставленной функции. |
| ThenCompose(IFunction) |
Возвращает новое значение CompleteStage, которое завершается с тем же значением, что и Значение Завершения, возвращаемое данной функцией. |
| ThenComposeAsync(IFunction, IExecutor) |
Возвращает новое значение CompleteStage, которое завершено с тем же значением, что и Значение Завершения, возвращаемое данной функцией, выполняемое с помощью предоставленного исполнителя. |
| ThenComposeAsync(IFunction) |
Возвращает новое значение CompleteStage, которое завершено с тем же значением, что и Значение Завершения, возвращаемое данной функцией, выполняемое с помощью асинхронного объекта выполнения этого этапа по умолчанию. |
| ThenRun(IRunnable) |
Возвращает новый этап завершения, который, когда этот этап завершается нормально, выполняет заданное действие. |
| ThenRunAsync(IRunnable, IExecutor) |
Возвращает новый этап завершения, который, когда этот этап завершается обычно, выполняет заданное действие с помощью предоставленного исполнителя. |
| ThenRunAsync(IRunnable) |
Возвращает новый этап завершения, который, когда этот этап завершается обычно, выполняет заданное действие с помощью асинхронного объекта выполнения этого этапа по умолчанию. |
| ToArray<T>() |
Создает управляемый массив из этого Java оболочки массива. (Унаследовано от Object) |
| ToCompletableFuture() |
Возвращает этот завершенныйfuture. |
| ToString() |
Возвращает строковое представление объекта. (Унаследовано от Object) |
| UnregisterFromRuntime() |
Отменяет регистрацию этого Java однорангового узла из среды выполнения взаимодействия. (Унаследовано от Object) |
| Wait() |
Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, путем <><уведомления/>em или <эм>прерванного</em.> (Унаследовано от Object) |
| Wait(Int64, Int32) |
Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прерваны< или> до тех пор, пока не истекло определенное количество реального времени. (Унаследовано от Object) |
| Wait(Int64) |
Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прерваны< или> до тех пор, пока не истекло определенное количество реального времени. (Унаследовано от Object) |
| WhenComplete(IBiConsumer) |
Возвращает новый объект CompleteStage с тем же результатом или исключением, что и на этом этапе, который выполняет заданное действие после завершения этого этапа. |
| WhenCompleteAsync(IBiConsumer, IExecutor) |
Возвращает новый объект CompleteStage с тем же результатом или исключением, что и на этом этапе, который выполняет заданное действие с помощью предоставленного исполнителя при завершении этого этапа. |
| WhenCompleteAsync(IBiConsumer) |
Возвращает новый объект CompleteStage с тем же результатом или исключением, что и на данном этапе, который выполняет заданное действие с использованием асинхронного объекта выполнения этого этапа по умолчанию, когда этот этап завершается. |
Явные реализации интерфейса
| Имя. | Описание |
|---|---|
| IJavaPeerable.Disposed() |
Объект |
| IJavaPeerable.Finalized() |
Объект |
| IJavaPeerable.JniObjectReferenceControlBlock |
Объект |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Объект |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Объект |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Объект |
| IJavaPeerable.UnregisterFromRuntime() |
Объект |
Методы расширения
| Имя. | Описание |
|---|---|
| GetAsync(IFuture, Int64, TimeUnit) |
Объект |
| GetAsync(IFuture) |
Объект |
| GetJniTypeName(IJavaPeerable) |
Возвращает имя JNI типа экземпляра |
| JavaAs<TResult>(IJavaPeerable) |
Попробуйте принуждать к типу |
| JavaCast<TResult>(IJavaObject) |
Выполняет преобразование типа, проверяемого средой выполнения Android. |
| JavaCast<TResult>(IJavaObject) |
Объект |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Попробуйте принуждать к типу |