Java interrupted()方法和isInterrupt方法的区别

来源:互联网 发布:having sql 编辑:程序博客网 时间:2024/05/17 09:39

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()不清除状态

0 0
原创粉丝点击