java多线程之停止线程的方法实例代码详解
和线程停止相关的三个方法
/* 中断线程。如果线程被wait(),join(),sleep()等方法阻塞,调用interrupt()会清除线程中断状态,并收到InterruptedException异常。另外interrupt();对于isAlive()返回false的线程不起作用。 */ public void interrupt(); /* 静态方法,判断线程中断状态,并且会清除线程的中断状态。所以连续多次调用该方法,第二次之后必定返回false。另外,isAlive()用于判断线程是否处于存活状态,如果isAlive()返回false,interrupted()也必定返回false。 */ public static boolean interrupted(); /* 判断线程中断状态,但不会清除线程中断状态。另外,isAlive()用于判断线程是否处于存活状态,如果isAlive()返回false,interrupted()也必定返回false。 */
public boolean isInterrupted();线程停止的几种情况:
1: 使用退出标记,run方法执行完毕,线程正常退出。
2: 使用stop()方法,已过时的方法,不推荐。
3: 使用interrupt()方法中断线程。
interrupt()
单独调用这个方法并不能中断线程,只是打了一个中断状态的标记。或者说是将线程状态更改为中断状态。
中断线程可以通过以下几种方法。
- 在线程内部抛出异常。
- 在线程内部使用return结束线程。
总结
以上所述是小编给大家介绍的java多线程之停止线程的方法实例代码详解,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!
相关文章
关于两个BeanUtils.copyProperties()的用法及区别
这篇文章主要介绍了关于两个BeanUtils.copyProperties()的用法及区别说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-06-06struts1之ActionServlet详解_动力节点Java学院整理
这篇文章主要介绍了struts1之ActionServlet详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2017-09-09Spring Boot中整合Spring Security并自定义验证代码实例
本篇文章主要介绍了Spring Boot中整合Spring Security并自定义验证代码实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-04-04
最新评论