Thread.interrupted(); // 类方法 静态方法
Thread.currentThread().isInterrupted(); // 对象方法
Thread.currentThread().interrupt(); // 对象方法
再Thread 源码中
有一个中断状态 标志位
调用 Thread.interrupted() 方法 会清除这个标志位,不可以用 isInterrupted() 判断该线程是否中断
建议使用 interrupt() 中断线程不会清除这个中断状态标志位,在使用 isInterrupted() 判断该线程是否中断,
但是有一种情况比较特殊
即再当前线程 sleep 时 即blocked 状态 用 interrupt() 也会清除 中断标志位
这时 catch这个 InterruptedException 需要再次调用 interrupt() 方法
这个例子为 调用 interrupt() 也会清除 中断标志位