一 . 概述
线程的interrupt方法是用来打断一个线程的方法,我们可以理解为向一个线程发送一个信号.
线程通过监控这个信号,能自己终结自己的生命周期.
二 . 例子
public static void main(String[] args) { final Thread t1 = new Thread() { @Override public void run() { while(!isInterrupted()) System.out.println("runing......"); System.out.println("interrupt ....."); } }; t1.start(); //创建线程2 new Thread() { @Override public void run() { try { //首先休眠3秒 Thread.sleep(3000); } catch (InterruptedException e) { e.printStackTrace(); } //完成休眠之后,打断t1线程 //会发送一个打断信息 t1.interrupt(); } }.start(); }
三 .总结
我们使用interrupt的时候.需要自己编写代码进行线程状态的监控.
当一个线程被打断的时候,该线程会获得一个被打断的异常.
此时:
[1]该线程的的打断状态字被修改了
[2]同时会获取一个异常
因此:
[1] 我们可以通过检测状态字控制一个线程的终结
[2]通过捕获异常来完成线程的终结.