Java中停止线程有三种方式:
- run()方法完成后线程自己结束
- stop()方法来强行停止,但不推挤使用该方法,因为stop()方法是过期作废的方法
- interrupt()方法配合一个判断来停止线程
注:interrupt()方法并不像for+break语句那样,马上停止线程的运行,只是在当前线程中打一个停止的标记,并不是马上停止线程。
如何判断一个线程是否处于停止状态:
- Thread.interrupted():静态方法,判断运行interrupted()方法的线程是否已经中断。线程的中断状态由该方法消除(即如果该线程是处于中断状态,第一次调用该方法会消除该线程的中断状态)
- thread.isInterrupted():对象方法,判断该线程对象是否已经中断。
如何停止线程:用异常法
调用thread.interrupter()后抛出InterruptedException()异常