ThreadPoolExecutor需要关闭吗
时间: 2023-11-02 16:56:14 浏览: 56
java线程池使用后到底要关闭吗
是的,ThreadPoolExecutor需要进行关闭。关闭线程池的方法有两种:shutdown()和shutdownNow()。调用shutdown()方法会将线程池状态置为SHUTDOWN,并拒绝接受新任务,然后中断空闲的Worker,等到线程池中的Worker数量为0且任务阻塞队列为空时,线程池才会被真正关闭。而调用shutdownNow()方法会将线程池状态置为STOP,中断所有的Worker(包括正在执行任务的Worker),并将任务阻塞队列中尚未执行的任务返回,当线程池中的Worker数量为0时,线程池被真正关闭。所以在使用完ThreadPoolExecutor后,为了释放资源并确保线程池的正常关闭,需要调用其中一种关闭方法。
阅读全文