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