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多线程之停止线程的方法实例代码详解,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

你可能感兴趣的:(java多线程之停止线程的方法实例代码详解)