Java interrupted()方法和isInterrupt方法的区别
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()不清除状态
