欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java多线程之停止线程的方法实例代码详解

程序员文章站 2023-12-02 23:51:58
和线程停止相关的三个方法 /* 中断线程。如果线程被wait(),join(),sleep()等方法阻塞,调用interrupt()会清除线程中断状态,并收到i...

和线程停止相关的三个方法

/*
中断线程。如果线程被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多线程之停止线程的方法实例代码详解,希望对大家有所帮助