ForkJoinPool执行task两次



下面的代码打印出'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();
}
}

为什么?

不能同时调用submitinvokeForkJoinPool#submit将任务发布到池中,一旦线程就绪,也会执行任务。

该方法还返回ForkJoinTask,您调用invoke,再次执行任务并等待其结果。

相关内容

  • 没有找到相关文章

最新更新