它们是两个不同的东西,ForkJoinTask一个可以提交给 a 的任务,ForkJoinPool一个CompletableFuture可以与任何人一起工作的承诺,Executor并且执行者不需要ForkJoinPool是
但是,ForkJoinPool如果您未指定任何内容,则 common 是默认设置,例如:
CompletableFuture.supplyAsync(()-> supplier);
ForkJoinPool如果你没有通过Executor. 还有一个overload需要Executor.
CompletableFuture.supplyAsync(()-> supplier,executor);
Async,这是extends中的一个static类,但它不需要是一个,来自文档CompletableFutureForkJoinTask<Void>ForkJoinTaskAsync
/** 基类可以充当 FJ 或普通 Runnable */
abstract static class Async extends ForkJoinTask<Void>
implements Runnable, AsynchronousCompletionTask
它也可以一个Runnable和一个AsynchronousCompletionTask
顺便说一句:ForkJoinTask, ForkJoinPool,ForkJoin...类是在 1.7 而不是 1.8 中添加的