English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Java 8 introduziu a classe CompletableFuture<T>, que pode ser a versão específica java.util.concurrent.Future<T> (com seu valor e estado definidos) ou usada como java.util.concurrent.CompleteStage. Suporta funções e ações dependentes do completion do futuro. Java 9 introduziu algumasCompletableFuture melhorias em
Java 9 melhorias em CompletableFuture Fiz melhorias:
suporta atrasos e timeouts
melhorou o suporte à subclassificação
Novo método de fábrica
public CompletableFuture<T> completeOnTimeout(T value, long timeout, TimeUnit unit)
em timeout(unidades em java.util.concurrent.Timeunits units onde, por exemplo, MILLISECONDS )antes de completar este CompletableFutrue com o valor fornecido. Retorne este CompletableFutrue.
public CompletableFuture<T> orTimeout(long timeout, TimeUnit unit)
Se não for concluído dentro do timeout fornecido, complete este CompletableFutrue com java.util.concurrent.TimeoutException e retorne este CompletableFutrue.
realizou muitas melhorias para CompletableFuture pode ser herdado de maneira mais simples. Por exemplo, talvez você queira sobrescrever o método público public Executor defaultExecutor() para substituir o padrão executor。
Outro novo método que facilita a subclassificação é:
public <U> CompletableFuture<U> newIncompleteFuture()
Java 8Introduziu o método de fábrica <U> CompletableFuture<U> completedFuture(U value) para retornar um CompletableFuture que já foi completado com o valor dado. Java 9completou este método com um novo <U> CompletableFuture<U> failedFuture(Throwable ex), que pode retornar um CompletableFuture concluído com a exceção fornecida.
Além disso, Java 9 Introduziu o par de stage a seguir-métodos de fábrica orientados a objetos, que retornam completion stages concluídas ou concluídas com exceção:
<U> CompletionStage<U> completedStage(U value): Retorna um novo CompletionStage concluído com o valor especificado <U> e suporta apenas as interfaces dentro do CompletionStage
<U> CompletionStage<U> failedStage(Throwable ex): Retorna um novo CompletionStage concluído com a exceção especificadaCompletionStage e suporta apenas CompletionStage das interfaces.