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

Основной учебник Java

Java управление потоком

Java массивы

Java объектно-ориентированное программирование (I)

Java объектно-ориентированное программирование (II)

Java объектно-ориентированное программирование (III)

Обработка исключений Java

Java списки (List)

Java Queue (очередь)

Java Map-сборники

Java Set-сборники

Java ввод/вывод (I/O)

Java Reader/Writer

другие темы Java

улучшений в API CompletableFuture Java

Java 9 новые возможности

Java 8 ввели класс CompletableFuture<T>, возможно, это является более точной версией java.util.concurrent.Future<T> (установлены его значение и состояние) или может быть использован как java.util.concurrent.CompleteStage. Поддерживает функции и действия, запускаемые при завершении future. Java 9 ввел несколькоCompletableFuture улучшения:

Java 9 внес улучшения в CompletableFuture были внесены улучшения:

  • поддерживает задержки и timeouts

  • улучшает поддержку дифференциации

  • Новый фабричный метод

поддерживает задержки и 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 включая интерфейсы.

Java 9 новые возможности