Java9 - CompletableFuture API增强

Java9 - CompletableFuture API增强 首页 / Java入门教程 / Java9 - CompletableFuture API增强

Java 8中引入了CompletableFuture类来表示Future,可以通过显式设置其值和状态来完成。也可以用作java.util.concurrent.CompletionStage,这些功能和动作是在将来完成时触发的。在Java 9中,CompletableFuture API得到了进一步增强。以下是对API所做的相关更改。

  • 支持延迟和超时.
  • 改进了对子类的支持.

支持延迟和超时

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

如果未在给定超时之前完成,则此方法将使用给定值完成此CompletableFuture

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

如果未在给定超时之前完成此方法,则此方法会以TimeoutException异常完成此CompletableFuture

改进了对子类的支持

public Executor defaultExecutor()

它返回用于未指定Executor的异步方法的默认Executor。可以在子类中重写此方法,以返回执行器以提供至少一个独立的线程。

无涯教程网

public <U> CompletableFuture<U> newIncompleteFuture()

返回一个新的CompletionStage方法将返回的类型不完整的CompletableFutureCompletableFuture类的子类应重写此方法,以返回与此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核心技术面试精讲 -〔杨晓峰〕

TensorFlow快速入门与实战 -〔彭靖田〕

Linux实战技能100讲 -〔尹会生〕

技术面试官识人手册 -〔熊燚(四火)〕

如何落地业务建模 -〔徐昊〕

林外 · 专利写作第一课 -〔林外〕

深入浅出可观测性 -〔翁一磊〕

零基础学Python(2023版) -〔尹会生〕

手把手带你写一个 MiniTomcat -〔郭屹〕

好记忆不如烂笔头。留下您的足迹吧 :)