English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Java 8 ha introdotto la classe CompletableFuture<T>, che potrebbe essere la versione completa e chiara di java.util.concurrent.Future<T> (impostando il suo valore e stato) o anche essere utilizzata come java.util.concurrent.CompleteStage. Supporta la触发一些依赖的函数和动作,当future完成时。Java 9 ha introdotto alcuneCompletableFuture dei miglioramenti:
Java 9 ha migliorato CompletableFuture è migliorato:
supporta ritardi e timeout
migliora il supporto alla derivazione
Il nuovo metodo di fabbrica
public CompletableFuture<T> completeOnTimeout(T value, long timeout, TimeUnit unit)
in timeout(unità in java.util.concurrent.Timeunits units in cui, ad esempio, MILLISECONDS )viene completato questo CompletableFutrue con il valore dato. Restituisce questo CompletableFutrue.
public CompletableFuture<T> orTimeout(long timeout, TimeUnit unit)
Se non viene completato entro il timeout specificato, il CompletableFutrue viene completato con java.util.concurrent.TimeoutException e restituito questo CompletableFutrue.
ha apportato molte migliorie per CompletableFuture può essere ereditato in modo più semplice. Ad esempio, potresti voler sovrascrivere il nuovo metodo pubblico public Executor defaultExecutor() per sostituire il default executor.
Un altro nuovo metodo che rende più facile la derivazione è:
public <U> CompletableFuture<U> newIncompleteFuture()
Java 8 ha introdotto il metodo di fabbrica <U> CompletableFuture<U> completedFuture(U value) per restituire un CompletableFuture già completato con il valore dato. Java 9 ha integrato questo metodo con un nuovo <U> CompletableFuture<U> failedFuture(Throwable ex), che può restituire un CompletableFuture completato con l'eccezione data.
Oltre a ciò, Java 9 ha introdotto la seguente coppia di metodi di fabbrica orientati a stage, che restituiscono completion stages completati o completati con un'eccezione:
<U> CompletionStage<U> completedStage(U value): Restituisce un nuovo CompletionStage completato con il valore specificato e supporta solo le interfacce di CompletionStage<U>.
<U> CompletionStage<U> failedStage(Throwable ex): Restituisce un nuovo CompletionStage completato con l'eccezione specificataCompletionStage e supporta solo CompletionStage le interfacce.