• 技术文章 >java >java基础

    java线程池关闭的方法

    小妮浅浅小妮浅浅2021-07-07 10:15:14原创5932

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

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

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

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

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

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

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

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

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

    以上就是java线程池关闭的方法,希望对大家有所帮助。更多Java学习指路:Java基础

    本教程操作环境:windows7系统、java10版,DELL G3电脑。

    专题推荐:java 线程池
    上一篇:java线程池有哪些拒绝策略 下一篇:java不同锁模式下的插队探究

    相关文章推荐

    • 深究Python中的asyncio库-线程池• 进一步认识python线程池• 如何使用python重复使用线程池?• ThreadPoolExecutor在java中创建线程池• java线程池的运行流程• java线程池创建方式• java线程池异常的处理方法• java线程池的工作队列有哪几个• java线程池死锁的产生及处理• java线程池中类的继承探究

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网