Java 9 中的 CompletableFuture API 有哪些改进?\

javaobject oriented programmingprogramming更新于 2025/7/14 22:36:17

CompletableFuture API 用于 Java 中的异步编程。这意味着我们可以通过在与 ma​​in()  线程不同的线程上运行任务来编写非阻塞 代码,并通知 ma​​in() 线程其进度、完成或失败。Java 9 在 CompletableFuture API 中引入了一些改进,它们是:"支持超时和延迟"、"改进了对子类化的支持"和"添加新的工厂方法"。

支持超时和延迟

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

上述方法用于指定如果任务在一定时间内未完成,程序将停止并抛出TimeoutException。

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

上述方法使用提供的值完成CompletableFuture 。如果没有,它会在给定的超时之前完成。

改进了对子类化的支持

public Executor defaultExecutor()

上述方法返回用于不显示 Executor 的异步方法的默认 执行器 。它可以在子类中被覆盖以返回一个 Executor,以提供至少一个独立 线程。

public <U> CompletableFuture<U> newIncompleteFuture()

上述方法返回一个新的 incomplete CompletableFuture ,其规范由 CompletionStage  方法返回。

新工厂方法

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

上述工厂方法返回一个新的 CompletableFuture ,该方法已使用提供的值完成。

public static <U> CompletionStage<U>已完成阶段(U 值)

上述工厂方法返回一个新的 CompletionStage ,该阶段之前已使用提供的值完成,并且仅与接口 CompletionStage 中可用的方法兼容。


相关文章


有用资源