CompletableMejoras futuras de la API
La clase CompletableFuture se introdujo en Java 8 para representar el futuro que se puede completar estableciendo su valor y estado de forma explícita. Se puede utilizar como java.util.concurrent.CompletionStage. Admite funciones y acciones dependientes que se activaron al finalizar el futuro. En java 9 CompletableFuture API se ha mejorado aún más. Los siguientes son los cambios relevantes realizados en la API.
- Soporte para retrasos y tiempos de espera.
- Soporte mejorado para subclases.
- Se agregaron nuevos métodos de fábrica.
Soporte para retrasos y tiempos de espera
public CompletableFuture<T> completeOnTimeout(T value, long timeout, TimeUnit unit)
Este método completa este CompletableFuture con el valor dado si no se completa antes del tiempo de espera dado.
public CompletableFuture<T> orTimeout(long timeout, TimeUnit unit)
Este método completa excepcionalmente este CompletableFuture con una TimeoutException si no se completa antes del tiempo de espera dado.
Soporte mejorado para subclases
public Executor defaultExecutor()
Devuelve el Ejecutor predeterminado que se usa para los métodos asincrónicos que no especifican un Ejecutor. Este método puede anularse en subclases para devolver un Ejecutor para proporcionar un subproceso independiente como mínimo.
public <U> CompletableFuture<U> newIncompleteFuture()
Devuelve un nuevo CompletableFuture incompleto del tipo que devolverá un método CompletionStage. Las subclases de la clase CompletableFuture deben anular este método para devolver una instancia de la misma clase que este CompletableFuture. La implementación predeterminada devuelve una instancia de la clase CompletableFuture.
Nuevos métodos de fábrica
public static <U> CompletableFuture<U> completedFuture(U value)
Este método de fábrica devuelve un nuevo CompletableFuture que ya se completó con el valor dado.
public static <U> CompletionStage<U> completedStage(U value)
Este método de fábrica devuelve un nuevo CompletionStage que ya se completó con el valor dado y solo admite los métodos presentes en la interfaz CompletionStage.
public static <U> CompletionStage<U> failedStage(Throwable ex)
Este método de fábrica devuelve un nuevo CompletionStage que ya se completó excepcionalmente con la excepción dada y solo admite los métodos presentes en la interfaz CompletionStage.
Java
- Seis innovaciones que impulsan mejoras en el rendimiento del hardware criptográfico
- API de sensor ambiental con un RPi
- Planifique un camino claro hacia las mejoras de confiabilidad
- Allegheny Power invierte $ 156 millones en mejoras de confiabilidad
- Amplíe la funcionalidad de su CMMS con nuestra API
- Java 9 - Descripción general
- Java 9 - Mejoras en la API de procesos
- Java 9 - Mejoras en la API de transmisión
- Java 9 - Mejoras de clase opcionales
- Java 9 - API de imágenes multiresolución
- CompletableMejoras futuras de la API