当我ExecutorService
在 JAVA 中使用以下代码创建时,有人可以解释它是如何ExecutorService
工作的吗?
ExecutorService executor = Executors.newFixedThreadPool(400);
for (int i = 0; i < 500; i++) {
Runnable worker = new MyRunnable(10000000L + i);
executor.execute(worker);
}
我相信会有一个工作队列,我的 for 循环会Runnable
向这个队列添加 500 个任务。现在ExecutorService
已经创建了一个包含 400 个线程的线程池。
那么在队列中的这 500 个任务中,队列中的 400 个线程ExecutorService
将一次执行这 400 个任务,而剩余的 as slot 被释放?
我的理解正确吗?