Java 关闭固定大小的线程池

Java 关闭固定大小的线程池,java,concurrency,Java,Concurrency,我使用Executors.newFixedThreadPool生成线程池,并希望在作业队列为空且没有线程工作时关闭它。我该怎么做呢?您首先需要关闭池,让所有已提交的任务完成,但不允许新任务。然后可以阻止,直到队列为空且所有任务都已完成: pool.shutdown(); pool.awaitTermination(1, TimeUnit.HOUR); : 执行以前提交的任务,但不接受新任务 : 阻塞,直到关闭请求后所有任务都已完成执行 首先需要关闭池,让所有已提交的任务完成,但不允许新任务。然

我使用Executors.newFixedThreadPool生成线程池,并希望在作业队列为空且没有线程工作时关闭它。我该怎么做呢?

您首先需要关闭池,让所有已提交的任务完成,但不允许新任务。然后可以阻止,直到队列为空且所有任务都已完成:

pool.shutdown();
pool.awaitTermination(1, TimeUnit.HOUR);
:

执行以前提交的任务,但不接受新任务

:

阻塞,直到关闭请求后所有任务都已完成执行


首先需要关闭池,让所有已提交的任务完成,但不允许新任务。然后可以阻止,直到队列为空且所有任务都已完成:

pool.shutdown();
pool.awaitTermination(1, TimeUnit.HOUR);
:

执行以前提交的任务,但不接受新任务

:

阻塞,直到关闭请求后所有任务都已完成执行