登录
首页 >  文章 >  java教程

关闭Java线程池的方法

来源:亿速云

时间:2024-03-28 08:09:07 393浏览 收藏

golang学习网今天将给大家带来《关闭Java线程池的方法》,感兴趣的朋友请继续看下去吧!以下内容将会涉及到等等知识点,如果你是正在学习文章或者已经是大佬级别了,都非常欢迎也希望大家都能给我建议评论哈~希望能帮助到大家!

1、shutdown()方法是安全的关闭线程池,调用shutdown方法后,不是立即关闭线程池,而是在线程池中执行很多任务,或者等待队列中执行任务,等待所有任务完成后关闭线程池

2、isShutdown()方法可判断线程池是否开始关闭,无法判断是否完全关闭。

3、isterminated()方法可以判断线程池是否完全关闭,因此调用shutdown后,执行任务时,调用isshutdown返回true,调用isterminated返回false。

awaittermination方法是判断线程池是否完全关闭,与isterminated相似,但接受等待时间。调用该方法可能发生以下情况

(1)等待期间(包括进入等待状态)线程池关闭,提交的任务(包括执行中和队列中等待的)全部完成,相当于线程池结束,方法返回true

(2)等待超时后,最初的线程池没有发生结束法回到false

(3)等待期间线程中断,方法会抛出互联网异常。

shutdownNow:立即关闭线程池,首先向线程池中的线程发送中断信号,尝试中断线程,然后将等待队列的任务返回调用人员,调用人员补救这些任务。

因此,我们可以根据自己的业务需求,选择合适的方法停止线程池。例如,通常可以用shutdown()的方法关闭,完成提交的任务,但如果情况紧急,可以用shutdownnow方法加快线程池的结束速度。

好了,本文到此结束,带大家了解了《关闭Java线程池的方法》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多文章知识!

声明:本文转载于:亿速云 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>