下面的代码打印出'Inside…
import java.util.concurrent.ForkJoinPool;
public class Test {
public static void main(String[] args) {
ForkJoinPool forkJoinPool = new ForkJoinPool(3);
forkJoinPool.submit(() -> {
System.out.println("Inside...");
}).invoke();
}
}
为什么?
不能同时调用submit
和invoke
。ForkJoinPool#submit
将任务发布到池中,一旦线程就绪,也会执行任务。
该方法还返回ForkJoinTask
,您调用invoke
,再次执行任务并等待其结果。