中断机制之静态方法Interupted
方法介绍
public static boolean interrupted()
静态方法 Thread.interrupted();
- 判断线程是否被中断并清除当前中断状态(做了两件事情)
- 1.返回当前线程的中断状态,测试当前线程是否已被中断
- 2.将当前线程的中断状态清零并重新设置为false,清除线程的中断状态
- 3.这个方法有点不好理解在于如果连续两次调用此方法,则第二次返回false,因为连续调用两次的结果可能不一样
案例
package com.kwfruit.thread.interruptdemo;
import java.util.concurrent.TimeUnit;
public class InterruptDemo4 {
public static void main(String[] args) {
//测试当前线程是否被中断(检查中断标志), 返回一个boolean并清除中断状态,
//第二次再调用时中断状态已经被清除,将返回一个false。
System.out.println(Thread.currentThread().getName()+"\t"+Thread.interrupted());//false
System.out.println(Thread.currentThread().getName()+"\t"+Thread.interrupted());//false
System.out.println("--1");
Thread.currentThread().interrupt(); //中断标志位设置为true
System.out.println("--2");
System.out.println(Thread.currentThread().getName()+"\t"+Thread.interrupted());//true
System.out.println(Thread.currentThread().getName()+"\t"+Thread.interrupted());//false
}
}