Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> java

Улучшения CompletableFuture API

Класс CompletableFuture был представлен в Java 8 для представления будущего, которое можно завершить, установив явное значение и статус. Его можно использовать как java.util.concurrent.CompletionStage. Он поддерживает зависимые функции и действия, которые запускаются после завершения будущего. В java 9 API CompletableFuture был дополнительно улучшен. Ниже приведены соответствующие изменения, внесенные в API.

Поддержка задержек и тайм-аутов

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

Этот метод завершает CompletableFuture с заданным значением, если он не был завершен до заданного времени ожидания.

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

Этот метод в исключительных случаях завершает CompletableFuture с TimeoutException, если он не был завершен до заданного времени ожидания.

Улучшенная поддержка подклассов

public Executor defaultExecutor()

Он возвращает Executor по умолчанию, используемый для асинхронных методов, которые не указывают Executor. Этот метод может быть переопределен в подклассах, чтобы возвращать Executor для обеспечения как минимум одного независимого потока.

public <U> CompletableFuture<U> newIncompleteFuture()

Возвращает новый незавершенный CompletableFuture того типа, который должен быть возвращен методом CompletionStage. Подклассы класса CompletableFuture должны переопределить этот метод, чтобы вернуть экземпляр того же класса, что и этот CompletableFuture. Реализация по умолчанию возвращает экземпляр класса CompletableFuture.

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

public static <U> CompletableFuture<U> completedFuture(U value)

Этот фабричный метод возвращает новый CompletableFuture, который уже завершен с заданным значением.

public static <U> CompletionStage<U> completedStage(U value)

Этот фабричный метод возвращает новый CompletionStage, который уже завершен с заданным значением и поддерживает только те методы, которые присутствуют в интерфейсе CompletionStage.

public static <U> CompletionStage<U> failedStage(Throwable ex)

Этот фабричный метод возвращает новый CompletionStage, который уже завершен исключительно с данным исключением и поддерживает только те методы, которые присутствуют в интерфейсе CompletionStage.


java

  1. Шесть инноваций, способствующих повышению производительности криптографического оборудования
  2. API датчика окружающей среды с RPi
  3. Продумайте четкий путь к повышению надежности
  4. Allegheny Power инвестирует 156 миллионов долларов в повышение надежности
  5. Расширьте функциональные возможности вашей CMMS с помощью нашего API
  6. Java 9 — Обзор
  7. Java 9 — улучшения API процессов
  8. Java 9 — улучшения потокового API
  9. Java 9 — необязательные улучшения класса
  10. Java 9 — API изображений с разным разрешением