1、interrupted():测试当前线程是否已经中断
isInterrupted():测试线程是否已经中断
2、interrupted方法具有清除状态的功能,测试用例如下:
public class Main1 {
public static void main(String[] args) {
Thread.currentThread().interrupt();
System.out.println(Thread.interrupted());
System.out.println(Thread.interrupted());
}
}
运行结果为true和false
true的结果很好解释,即调用interrupt()方法,interrupted()方法判断结果为true,当第二次执行Thread.interrupted()时,结果为true,可知,interrupted()方法具有具有清除状态的功能。
3、isInterrupted()不清除状态,测试用例如下:
public class Main2 {
public static void main(String[] args) {
Thread.currentThread().interrupt();
System.out.println(Thread.isInterrupted());
System.out.println(Thread.isInterrupted());
}
}
运行结果为true和true,即isInterrupted()不清除状态