shutdown()应该是在线程执行完毕后,才会去关闭
时间: 2023-05-08 08:58:23 浏览: 199
JAVA主线程等待子线程执行完毕再执行[参照].pdf
shutdown()是线程池的一个方法,用于关闭线程池。线程池是一组预先创建的可复用线程,用于执行多个任务。使用线程池可以避免频繁地创建和销毁线程,从而提高程序的效率和性能。
在java.util.concurrent包中,线程池提供了两种关闭方式:shutdown()和shutdownNow()。这两种关闭方式都可以释放线程池中的所有资源,但它们的实现方式不同。
shutdown()方法会等待所有已提交的任务执行完成后再关闭线程池。线程池不再接受新的任务,但会去执行还未执行的任务。如果线程池中的任务都已经执行完成,那么线程池就会关闭。在这种情况下,shutdown()方法是在线程执行完毕后才会去关闭。
因此,在使用线程池时,如果想要关闭线程池并等待所有任务完成,应该使用shutdown()方法。但是,如果想要立即关闭线程池,并放弃已提交但未执行的任务,应该使用shutdownNow()方法。
阅读全文