English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriel de base Java

Contrôle de flux Java

Java tableau

Java orienté objet (I)

Java orienté objet (II)

Java orienté objet (III)

Traitement des exceptions Java

Java Liste (List)

Java Queue (filet)

Java Map collectif

Java Set collectif

Java entrée/sortie (I/O)

Java Reader/Writer

Autres sujets Java

Java 9 API améliorée de CompletableFuture

Java 9 New features

Java 8 a introduit la classe CompletableFuture<T>, qui pourrait être une version clairement définie de java.util.concurrent.Future<T> (en définissant sa valeur et son état), ou pourrait être utilisée comme java.util.concurrent.CompleteStage . Supporte les fonctions et les actions déclenchées par la fin du futur. Java 9 a introduit quelquesCompletableFuture des améliorations :

Java 9 des améliorations pour CompletableFuture Des améliorations ont été apportées :

  • supporte les délais et les timeouts

  • améliore le soutien à la sous-classe

  • Nouvelle méthode de fabrication

supporte les délais et les timeouts

public CompletableFuture<T> completeOnTimeout(T value, long timeout, TimeUnit unit)

dans timeout(l'unité est java.util.concurrent.Timeunits units dans, par exemple MILLISECONDS )pour terminer ce CompletableFutrue avec la valeur donnée. Ce CompletableFutrue est retourné.

public CompletableFuture<T> orTimeout(long timeout, TimeUnit unit)

Si le CompletableFutrue n'est pas terminé dans le délai donné, il est terminé avec java.util.concurrent.TimeoutException et ce CompletableFutrue est retourné.

améliorer le soutien à la sous-classe

a apporté de nombreuses améliorations pour CompletableFuture peut être hérité plus simplement. Par exemple, vous pourriez peut-être vouloir redéfinir la méthode public Executor defaultExecutor() pour remplacer la méthode par défaut executor

Une autre nouvelle méthode qui rend la sous-classe plus facile est :

public <U> CompletableFuture<U> newIncompleteFuture()

Nouvelle méthode de fabrication

Java 8La méthode de fabrication <U> CompletableFuture<U> completedFuture(U value) a été introduite pour retourner un CompletableFuture déjà terminé avec la valeur donnée. Java 9supplements this method with a new <U> CompletableFuture<U> failedFuture(Throwable ex) to return a CompletableFuture that completes with the given exception.

In addition to this, Java 9 It introduces the following pair of stages-oriented factory methods, returning completed or exceptionally completed completion stages:

  • <U> CompletionStage<U> completedStage(U value): Returns a new CompletionStage that completes with the specified value  and only supports the interfaces within CompletionStage

  • <U> CompletionStage<U> failedStage(Throwable ex): Returns a new CompletionStage that completes with the specified exceptionCompletionStage , and only supports CompletionStage interfaces.

Java 9 New features