Java9 CompletableFuture API
CompletableFuture
类是在Java 8中引入的,可以通过设置其值和状态显式来完成。 它可以用作java.util.concurrent.CompletionStage
。 它支持未来完成时触发的相关函数和操作。 在Java 9中,CompletableFuture API进一步得到了增强。 以下是对API进行的相关更改。
- 支持延迟和超时。
- 改进了对子类的支持。
- 添加了新的工厂方法。
1. 支持延迟和超时
public CompletableFuture<T> completeOnTimeout(T value, long timeout, TimeUnit unit)
如果在给定超时之前未完成,则此方法使用给定值完成CompletableFuture
。
public CompletableFuture<T> orTimeout(long timeout, TimeUnit unit)
如果在给定的超时之前没有完成,则此方法异常地完成此CompletableFuture
并带有TimeoutException
异常。
2. 改进了对子类的支持
public Executor defaultExecutor()
它将返回用于未指定Executor
异步方法的默认Executor
。 可以在子类中重写此方法以返回Executor
以提供一个最小的独立线程。
public <U> CompletableFuture<U> newIncompleteFuture()
返回由CompletionStage
方法返回类型的新不完整CompletableFuture
。 CompletableFuture
类的子类应该重写此方法以返回与CompletableFuture
相同的类的实例。 默认实现返回CompletableFuture
类的一个实例。
3. 新工厂方法
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
接口中存在的那些方法。
上一篇:Java9多分辨率图像API
下一篇:没有了
- Java教程
- Vim教程
- Swing教程
- Spring教程
- Spring Web Services教程
- Spring MVC教程
- Spring JDBC教程
- Spring Cloud教程
- Spring Boot教程
- Spring Boot CLI教程
- Spring Batch教程
- Spring AOP教程
- PDFBox教程
- JSP教程
- JSF教程
- JPA教程
- Java面向对象设计
- Java设计模式
- Java虚拟机教程
- Java泛型教程
- Java正则表达式教程
- Java数据类型教程
- Java并发编程教程
- Java密码学教程
- Java多线程教程
- Java国际化(i18n)教程
- JavaFX教程
- Java9教程
扫描二维码
程序员编程王