源码CompletableFuture分析

一、数据结构

1、CompletableFuture

CompletableFuture 实现了 Future 接口和 CompletionStageFuture 不必多说,而 CompletionStage 定义了各种任务编排的 API:

CompletableFuture implements Future, CompletionStage {
    volatile Object result;       // Either the result or boxed AltResult
    volatile Completion stack;    // Top of Treiber stack of dependent actions
}

CompletableFuture 的数据结构包括用于记录结果的 result,以及用于持有任务以及任务间依赖关系的 Completion 类型的成员变量 stack

如果阅读过 spring 注解相关功能的源码的同学,对于 CompletableFuture 和 Completion 应该会有一种 TypeMappedAnnotation 和 AnnotationTypeMapping 的既视感,实际上他们两者之间的关系确实也非常相似。

2、Completion

<

你可能感兴趣的:(笔记,最高笔记,java,开发语言)