004 线程的interrupt方法

一 . 概述

线程的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]通过捕获异常来完成线程的终结.

猜你喜欢

转载自www.cnblogs.com/trekxu/p/8975123.html
004