CompletableFuture Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Qui Future peut être explicitement terminé (définition de sa valeur et de son état) et peut être utilisé comme un CompletionStage, prenant en charge les fonctions dépendantes et les actions qui se déclenchent à sa fin.
[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
- Héritage
- Attributs
- Implémente
Remarques
Qui Future peut être explicitement terminé (définition de sa valeur et de son état) et peut être utilisé comme un CompletionStage, prenant en charge les fonctions dépendantes et les actions qui se déclenchent à sa fin.
Lorsque deux threads ou plus tentent #complete completede , #completeExceptionally completeExceptionallyou #cancel cancel un CompletableFuture, un seul d’entre eux réussit.
Outre ces méthodes et méthodes associées pour manipuler directement l’état et les résultats, CompletableFuture implémente l’interface CompletionStage avec les stratégies suivantes : <ul>
<Li>Actions fournies pour les achèvements dépendants des <>méthodes non async</em> peuvent être effectuées par le thread qui termine l’objet CompletableFuture actuel ou par tout autre appelant d’une méthode d’achèvement.
<Li>All <em>async</em> methods without an explicit Executor argument are perform using the ForkJoinPool#commonPool() (sauf si elle ne prend pas en charge un niveau de parallélisme d’au moins deux, auquel cas, un nouveau thread est créé pour exécuter chaque tâche). Pour simplifier la surveillance, le débogage et le suivi, toutes les tâches asynchrones générées sont des instances de l’interface AsynchronousCompletionTaskde marqueur . Les opérations avec délai d’attente peuvent utiliser des méthodes d’adaptateur définies dans cette classe, par exemple : supplyAsync(supplier, delayedExecutor(timeout, timeUnit)). Pour prendre en charge les méthodes avec des retards et des délais d’expiration, cette classe gère au plus un thread démon pour déclencher et annuler des actions, et non pour les exécuter.
<Li>Toutes les méthodes CompletionStage sont implémentées indépendamment des autres méthodes publiques, de sorte que le comportement d’une méthode n’est pas affecté par les remplacements d’autres dans les sous-classes.
</ul>
CompletableFuture implémente Future également avec les stratégies suivantes : <ul>
<li>Puisque (contrairement FutureTaskà ) cette classe n’a aucun contrôle direct sur le calcul qui l’entraîne à se terminer, l’annulation est traitée comme une autre forme d’achèvement exceptionnel. La méthode #cancel cancel a le même effet que completeExceptionally(new CancellationException()). La méthode #isCompletedExceptionally peut être utilisée pour déterminer si un CompletableFuture est terminé de manière exceptionnelle.
<li>En cas d’achèvement exceptionnel avec une instruction CompletionException, les méthodes #get() et #get(long, TimeUnit) lèvent une ExecutionException cause identique à celle contenue dans l’élément CompletionException correspondant. Pour simplifier l’utilisation dans la plupart des contextes, cette classe définit également des méthodes #join() et #getNow qui lèvent plutôt l’exception CompletionException directement dans ces cas.
</ul>
Les arguments utilisés pour passer un résultat d’achèvement (autrement dit, pour les paramètres de type T) pour les méthodes qui les acceptent peuvent être null, mais le passage d’une valeur Null pour tout autre paramètre entraîne une NullPointerException levée.
Ajouté dans la version 1.8.
Java documentation pour java.util.concurrent.CompletableFuture.
Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.
Constructeurs
| Nom | Description |
|---|---|
| CompletableFuture() |
Crée une nouvelle completableFuture incomplète. |
| CompletableFuture(IntPtr, JniHandleOwnership) |
Qui |
Propriétés
| Nom | Description |
|---|---|
| Class |
Retourne la classe runtime de ce |
| Handle |
Handle de l’instance Android sous-jacente. (Hérité de Object) |
| IsCancelled |
Retourne |
| IsCompletedExceptionally |
Retourne |
| IsDone |
Retourne |
| JniIdentityHashCode |
Obtient le code de hachage d’identité affecté à cet homologue Java par le runtime d’interopérabilité. (Hérité de Object) |
| JniManagedPeerState |
Qui |
| JniPeerMembers |
Qui |
| NumberOfDependents |
Retourne le nombre estimé de CompletableFutures dont les achèvements attendent l’achèvement de ce CompletableFuture. |
| PeerReference |
Obtient la référence d’objet JNI pour cet homologue Java. (Hérité de Object) |
| ThresholdClass |
Qui |
| ThresholdType |
Qui |
Méthodes
| Nom | Description |
|---|---|
| AcceptEither(ICompletionStage, IConsumer) |
Qui |
| AcceptEitherAsync(ICompletionStage, IConsumer, IExecutor) |
Qui |
| AcceptEitherAsync(ICompletionStage, IConsumer) |
Qui |
| AllOf(CompletableFuture[]) |
Retourne un nouveau CompletableFuture terminé lorsque l’ensemble des CompletableFutures donnés sont terminés. |
| AnyOf(CompletableFuture[]) |
Retourne un nouveau CompletableFuture terminé lorsque l’un des completableFutures donnés est terminé, avec le même résultat. |
| ApplyToEither(ICompletionStage, IFunction) |
Qui |
| ApplyToEitherAsync(ICompletionStage, IFunction, IExecutor) |
Qui |
| ApplyToEitherAsync(ICompletionStage, IFunction) |
Qui |
| Cancel(Boolean) |
S’il n’est pas déjà terminé, termine ce CompletableFuture avec un |
| Clone() |
Crée et retourne une copie de cet objet. (Hérité de Object) |
| Complete(Object) |
S’il n’est pas déjà terminé, définit la valeur retournée par |
| CompleteAsync(ISupplier, IExecutor) |
Termine ce CompletableFuture avec le résultat de la fonction Fournisseur donnée appelée à partir d’une tâche asynchrone à l’aide de l’exécuteur donné. |
| CompleteAsync(ISupplier) |
Termine cette opération CompletableFuture avec le résultat de la fonction Fournisseur donnée appelée à partir d’une tâche asynchrone à l’aide de l’exécuteur par défaut. |
| CompletedFuture(Object) |
Retourne un nouveau CompletableFuture déjà terminé avec la valeur donnée. |
| CompletedStage(Object) |
Retourne un nouveau CompletionStage déjà terminé avec la valeur donnée et prend uniquement en charge ces méthodes dans l’interface |
| CompleteExceptionally(Throwable) |
Si ce n’est pas déjà fait, les appels des |
| CompleteOnTimeout(Object, Int64, TimeUnit) |
Termine cette opération CompletableFuture avec la valeur donnée s’il n’est pas terminé avant le délai d’expiration donné. |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
Qui |
| Copy() |
Retourne un nouveau CompletableFuture qui est terminé normalement avec la même valeur que ce CompletableFuture lorsqu’il se termine normalement. |
| DefaultExecutor() |
Retourne l’exécuteur par défaut utilisé pour les méthodes asynchrones qui ne spécifient pas d’exécuteur. |
| DelayedExecutor(Int64, TimeUnit, IExecutor) |
Retourne un nouvel exécuteur qui envoie une tâche à l’exécuteur de base donné après le délai donné (ou aucun délai s’il n’est pas positif). |
| DelayedExecutor(Int64, TimeUnit) |
Retourne un nouvel exécuteur qui envoie une tâche à l’exécuteur par défaut après le délai donné (ou aucun délai s’il n’est pas positif). |
| Dispose() |
Libère les ressources détenues par cet homologue Java. (Hérité de Object) |
| Dispose(Boolean) |
Libère les ressources détenues par cet homologue Java. (Hérité de Object) |
| DisposeUnlessReferenced() |
Qui |
| Equals(Object) |
Qui |
| Equals(Object) |
Indique si un autre objet est « égal à » celui-ci. (Hérité de Object) |
| Exceptionally(IFunction) |
Retourne un nouveau CompletableFuture qui est terminé lorsque ce CompletableFuture est terminé, avec le résultat de la fonction donnée de l’exception déclenchant l’achèvement de ce CompletableFuture lorsqu’il se termine exceptionnellement ; sinon, si ce CompletableFuture se termine normalement, le completableFuture retourné se termine normalement avec la même valeur. |
| ExceptionallyAsync(IFunction, IExecutor) |
Qui |
| ExceptionallyAsync(IFunction) |
Qui |
| ExceptionallyCompose(IFunction) |
Qui |
| ExceptionallyComposeAsync(IFunction, IExecutor) |
Qui |
| ExceptionallyComposeAsync(IFunction) |
Qui |
| ExceptionNow() |
Qui |
| FailedFuture(Throwable) |
Retourne un nouveau CompletableFuture déjà terminé exceptionnellement avec l’exception donnée. |
| FailedStage(Throwable) |
Retourne un nouveau CompletionStage qui est déjà terminé exceptionnellement avec l’exception donnée et prend uniquement en charge ces méthodes dans l’interface |
| Get() |
Attend si nécessaire que cet avenir se termine, puis retourne son résultat. |
| Get(Int64, TimeUnit) |
Attend si nécessaire au plus le temps donné pour que cet avenir se termine, puis retourne son résultat, s’il est disponible. |
| GetHashCode() |
Retourne une valeur de code de hachage pour l’objet. (Hérité de Object) |
| GetNow(Object) |
Retourne la valeur de résultat (ou lève une exception rencontrée) si elle est terminée, sinon retourne la valeur donnéeIfAbsent. |
| Handle(IBiFunction) |
Qui |
| HandleAsync(IBiFunction, IExecutor) |
Qui |
| HandleAsync(IBiFunction) |
Qui |
| JavaFinalize() |
Appelé par le garbage collector sur un objet lorsque le garbage collection détermine qu’il n’y a plus de références à l’objet. (Hérité de Object) |
| Join() |
Retourne la valeur de résultat une fois terminée ou lève une exception (décochée) si elle est terminée exceptionnellement. |
| MinimalCompletionStage() |
Retourne un nouveau CompletionStage qui est terminé normalement avec la même valeur que ce CompletableFuture lorsqu’il se termine normalement, et ne peut pas être terminé indépendamment ou utilisé de manière non définie par les méthodes de l’interface |
| NewIncompleteFuture() |
Retourne un nouveau CompletableFuture incomplet du type à renvoyer par une méthode CompletionStage. |
| Notify() |
Réveille un thread unique qui attend le moniteur de cet objet. (Hérité de Object) |
| NotifyAll() |
Réveille tous les threads qui attendent le moniteur de cet objet. (Hérité de Object) |
| ObtrudeException(Throwable) |
Force les appels ultérieurs de méthode |
| ObtrudeValue(Object) |
Définit ou réinitialise de force la valeur retournée par la suite par la méthode |
| OrTimeout(Int64, TimeUnit) |
Termine exceptionnellement ce CompletableFuture avec un |
| ResultNow() |
Qui |
| RunAfterBoth(ICompletionStage, IRunnable) |
Qui |
| RunAfterBothAsync(ICompletionStage, IRunnable, IExecutor) |
Qui |
| RunAfterBothAsync(ICompletionStage, IRunnable) |
Qui |
| RunAfterEither(ICompletionStage, IRunnable) |
Qui |
| RunAfterEitherAsync(ICompletionStage, IRunnable, IExecutor) |
Qui |
| RunAfterEitherAsync(ICompletionStage, IRunnable) |
Qui |
| RunAsync(IRunnable, IExecutor) |
Retourne un nouveau CompletableFuture qui est exécuté de manière asynchrone par une tâche exécutée dans l’exécuteur donné après avoir exécuté l’action donnée. |
| RunAsync(IRunnable) |
Retourne une nouvelle completableFuture exécutée de manière asynchrone par une tâche exécutée après |
| SetHandle(IntPtr, JniHandleOwnership) |
Définit la propriété Handle. (Hérité de Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
Qui |
| State() |
Qui |
| SupplyAsync(ISupplier, IExecutor) |
Retourne un nouveau CompletableFuture qui est effectué de manière asynchrone par une tâche exécutée dans l’exécuteur donné avec la valeur obtenue en appelant le fournisseur donné. |
| SupplyAsync(ISupplier) |
Retourne une nouvelle completableFuture qui est exécutée de manière asynchrone par une tâche exécutée dans l’objet |
| ThenAccept(IConsumer) |
Qui |
| ThenAcceptAsync(IConsumer, IExecutor) |
Qui |
| ThenAcceptAsync(IConsumer) |
Qui |
| ThenAcceptBoth(ICompletionStage, IBiConsumer) |
Qui |
| ThenAcceptBothAsync(ICompletionStage, IBiConsumer, IExecutor) |
Qui |
| ThenAcceptBothAsync(ICompletionStage, IBiConsumer) |
Qui |
| ThenApply(IFunction) |
Qui |
| ThenApplyAsync(IFunction, IExecutor) |
Qui |
| ThenApplyAsync(IFunction) |
Qui |
| ThenCombine(ICompletionStage, IBiFunction) |
Qui |
| ThenCombineAsync(ICompletionStage, IBiFunction, IExecutor) |
Qui |
| ThenCombineAsync(ICompletionStage, IBiFunction) |
Qui |
| ThenCompose(IFunction) |
Qui |
| ThenComposeAsync(IFunction, IExecutor) |
Qui |
| ThenComposeAsync(IFunction) |
Qui |
| ThenRun(IRunnable) |
Qui |
| ThenRunAsync(IRunnable, IExecutor) |
Qui |
| ThenRunAsync(IRunnable) |
Qui |
| ToArray<T>() |
Crée un tableau managé à partir de ce wrapper de tableau Java. (Hérité de Object) |
| ToCompletableFuture() |
Retourne ce CompletableFuture. |
| ToString() |
Retourne une représentation de chaîne de l'objet. (Hérité de Object) |
| UnregisterFromRuntime() |
Annule l’inscription de cet homologue Java à partir du runtime d’interopérabilité. (Hérité de Object) |
| Wait() |
Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti par em ou><em>interrompu</em>.<> (Hérité de Object) |
| Wait(Int64, Int32) |
Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti> par< em>ou <em>interrompu/em<,> ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée. (Hérité de Object) |
| Wait(Int64) |
Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti> par< em>ou <em>interrompu/em<,> ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée. (Hérité de Object) |
| WhenComplete(IBiConsumer) |
Qui |
| WhenCompleteAsync(IBiConsumer, IExecutor) |
Qui |
| WhenCompleteAsync(IBiConsumer) |
Qui |
Implémentations d’interfaces explicites
| Nom | Description |
|---|---|
| IJavaPeerable.Disposed() |
Qui |
| IJavaPeerable.Finalized() |
Qui |
| IJavaPeerable.JniObjectReferenceControlBlock |
Qui |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Qui |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Qui |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Qui |
| IJavaPeerable.UnregisterFromRuntime() |
Qui |
Méthodes d’extension
| Nom | Description |
|---|---|
| GetAsync(IFuture, Int64, TimeUnit) |
Qui |
| GetAsync(IFuture) |
Qui |
| GetJniTypeName(IJavaPeerable) |
Obtient le nom JNI du type de l’instance |
| JavaAs<TResult>(IJavaPeerable) |
Essayez de forcer |
| JavaCast<TResult>(IJavaObject) |
Effectue une conversion de type vérifiée par le runtime Android. |
| JavaCast<TResult>(IJavaObject) |
Qui |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Essayez de forcer |