Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> Java

Java 9: Aprimoramentos na API CompletableFuture para Concorrência

A classe CompletableFuture foi introduzida no Java 8 para representar um Future que pode ser completado definindo seu valor e status explicitamente. Pode ser usada como java.util.concurrent.CompletionStage. Suporta funções e ações dependentes disparadas na conclusão do future. No Java 9, a API CompletableFuture foi aprimorada. Mudanças relevantes:

Suporte a Atrasos e Timeouts

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

Completa este CompletableFuture com o valor dado se não for completado antes do timeout.

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

Completa excepcionalmente este CompletableFuture com TimeoutException se não for completado antes do timeout.

Suporte Melhorado para Subclassing

public Executor defaultExecutor()

Retorna o Executor padrão usado para métodos assíncronos que não especificam Executor. Pode ser sobrescrito em subclasses para retornar um Executor que forneça thread independente mínima.

public <U> CompletableFuture<U> newIncompleteFuture()

Retorna novo CompletableFuture incompleto do tipo a ser retornado por método CompletionStage. Subclasses devem sobrescrever para retornar instância da mesma classe. Implementação padrão retorna instância de CompletableFuture.

Novos Métodos de Fábrica

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

Retorna novo CompletableFuture já completado com o valor dado.

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

Retorna novo CompletionStage já completado com o valor dado, suportando apenas métodos da interface CompletionStage.

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

Retorna novo CompletionStage já completado excepcionalmente com a exceção dada, suportando apenas métodos da interface CompletionStage.

Esses aprimoramentos tornam CompletableFuture mais flexível para programação assíncrona robusta.

Java

  1. Seis Inovações-Chave Impulsionando o Desempenho de Hardware Criptográfico
  2. Construa API Robusta de Temperatura e Sensores no Raspberry Pi com Módulo GY‑91
  3. Blueprint para Aumentar Confiabilidade de Equipamentos: Plano Estruturado de 5 Passos
  4. Allegheny Power Investe US$ 156 Mi em Melhorias de Confiabilidade na Virgínia Ocidental
  5. Estenda a Funcionalidade do seu CMMS com Nossa API Robusta
  6. Java 9 (JDK 9) – Principais Recursos e Benefícios
  7. Java 9 Process API: Principais Melhorias e Novos Recursos
  8. Java 9 Stream API Enhancements: takeWhile, dropWhile, iterate e ofNullable
  9. Java 9: Novos Recursos para a Classe Optional
  10. Java 9 Multi-Resolution Image API: Simplifique Gráficos Responsivos