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


CompletableFuture API 用于 Java 中的异步编程。这意味着我们可以通过在与主()线程不同的线程上运行任务并通知主()线程其进度、完成或失败来编写非阻塞代码。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()

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

public <U> CompletableFuture<U> newIncompleteFuture()

上述方法返回一个新的未完成的 CompletableFuture,该规范将由CompletionStage方法返回。

新的工厂方法

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

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

public static <U> CompletionStage<U> completedStage(U value)

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

更新于:2020年2月21日

252 次浏览

启动您的职业生涯

通过完成课程获得认证

开始
广告