CompletionStage接口讲解

2022-11-10  本文已影响0人  engineer_tang

1. CompletionStage接口

可能是异步计算的一个阶段,在另一个CompletionStage完成时执行操作或计算值。阶段在其计算结束时完成,但这可能反过来触发其他从属阶段。此界面中定义的功能仅采用几个基本形式,这些形式扩展到更大的方法集,以捕获一系列使用样式:

所有方法都遵守上述触发、执行和异常完成规范(在个别方法规范中不重复)。此外,尽管用于为接受它们的方法传递完成结果(即,对于类型为T的参数)的参数可能为空,但为任何其他参数传递空值将导致引发NullPointerException。

此接口不定义初始创建、强制正常或异常完成、探测完成状态或结果或等待阶段完成的方法。竣工阶段的实施可提供实现此类效果的方法(视情况而定)。方法toCompletableFuture通过提供一个通用的转换类型,支持此接口的不同实现之间的互操作性。

2. CompletableFuture类

可以显式完成的Future(设置其值和状态),并且可以用作CompletionStage,支持完成时触发的相关函数和操作。
当两个或多个线程尝试完成、完成异常或取消CompletableFuture时,只有一个线程成功。

除了直接操作状态和结果的这些方法和相关方法之外,CompletableFuture还使用以下策略实现了CompletionStage接口:

CompletableFuture还实现了Future如下策略:

上一篇 下一篇

猜你喜欢

热点阅读