English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Java 8 ввели класс CompletableFuture<T>, возможно, это является более точной версией java.util.concurrent.Future<T> (установлены его значение и состояние) или может быть использован как java.util.concurrent.CompleteStage. Поддерживает функции и действия, запускаемые при завершении future. Java 9 ввел несколькоCompletableFuture улучшения:
Java 9 внес улучшения в CompletableFuture были внесены улучшения:
поддерживает задержки и timeouts
улучшает поддержку дифференциации
Новый фабричный метод
public CompletableFuture<T> completeOnTimeout(T value, long timeout, TimeUnit unit)
в timeout(единицы времени в java.util.concurrent.Timeunits units например, MILLISECONDS )перед завершением CompletableFutrue с заданным значением value. Возвращает этот CompletableFutrue.
public CompletableFuture<T> orTimeout(long timeout, TimeUnit unit)
Если CompletableFutrue не завершится в заданном времени ожидания, завершите его java.util.concurrent.TimeoutException и верните этот CompletableFutrue.
сделал множество улучшений, чтобы CompletableFuture может быть наследован более просто. Например, возможно, вы хотите перезаписать новый метод public Executor defaultExecutor() для замены-default Executor executor.
Другой новый метод, который упрощает дифференциацию, это:
public <U> CompletableFuture<U> newIncompleteFuture()
Java 8 ввели фабричный метод <U> CompletableFuture<U> completedFuture(U value), который возвращает CompletableFuture, уже завершенный с заданным значением value. Java 9 дополнил этот метод новым <U> CompletableFuture<U> failedFuture(Throwable ex), который возвращает CompletableFuture, завершенный с заданной异常.
Кроме того, Java 9 ввел следующие пары методов factories stage-oriented, возвращающих завершенные или завершенные с исключениями completion stages:
<U> CompletionStage<U> completedStage(U value): возвращает новый CompletionStage, завершенный指定的 value и поддерживает только интерфейсы CompletionStage<U>.
<U> CompletionStage<U> failedStage(Throwable ex): возвращает новый CompletionStage, завершенный指定的异常CompletionStage и поддерживает только CompletionStage включая интерфейсы.