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