开发手册 欢迎您!
软件开发者资料库

CompletableFuture API改进

Java 9 CompletableFuture API改进 - 从简单和简单的步骤学习Java 9,从基本概念到高级概念,包括概述,环境设置,模块系统,REPL(JShell),改进的JavaDocs,Multirelease JAR,Collection Factory Methods,Private Interface Methods, Process API,Stream API,Try with Resources,Optional Class,CompletableFuture API改进,Enhanced @Deprecated Annotation,Inner Class Diamond Operator,Multiresolution Image API,Miscellaneous Features。

CompletableFuture类在Java 8中引入,代表Future,可以通过设置其值和状态明确来完成.它可以用作java.util.concurrent.CompletionStage.它支持在未来完成时触发的依赖功能和操作.在java 9中,CompletableFuture API得到了进一步的增强.以下是对API所做的相关更改.

  • 支持延迟和超时.

  • 改进了对子类化的支持.

  • 添加了新的工厂方法.

支持延迟和超时

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

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

public CompletableFuture orTimeout(long timeout, TimeUnit unit)

如果在给定的超时之前没有完成,则此方法异常完成此CompletableFuture并带有TimeoutException.

改进了对子类的支持

public Executor defaultExecutor()

它返回用于未指定Executor的异步方法的默认Executor.可以在子类中重写此方法以返回Executor以提供一个独立的线程作为最小值.

public  CompletableFuture newIncompleteFuture()

返回CompletionStage方法返回的类型的新不完整CompletableFuture. CompletableFuture类的子类应重写此方法以返回与此CompletableFuture相同的类的实例.默认实现返回CompletableFuture类的实例.

新工厂方法

public static  CompletableFuture completedFuture(U value)

此工厂方法返回一个新的CompletableFuture,它已经用给定的值完成.

public static  CompletionStage completedStage(U value)

此工厂方法返回一个新的CompletionStage,它已使用给定值完成,并且仅支持接口CompletionStage中存在的那些方法.

public static  CompletionStage failedStage(Throwable ex)

此工厂方法返回一个新的CompletionStage,它已经在给定异常的情况下异常完成,并且仅支持CompletionStage接口中存在的那些方法.

2009-2025 Copyright Wonhero.Com All Rights Reserved
深圳幻海软件技术有限公司 版权所有