当前位置: 移动技术网 > IT编程>开发语言>Java > 一个线程在没有执行可中断方法之前就被打断,会出现什么情况?

一个线程在没有执行可中断方法之前就被打断,会出现什么情况?

2020年07月17日  | 移动技术网IT编程  | 我要评论

示例代码:

public static void main(String[] args) {
    System.out.println(Thread.currentThread().getName() + ":" + Thread.interrupted());
    //中断主线程
    Thread.currentThread().interrupt();
    //执行isInterrupted不会重置中断信号
    System.out.println(Thread.currentThread().getName() + ":" + Thread.currentThread().isInterrupted());
    long start = System.currentTimeMillis();
    try {
        TimeUnit.SECONDS.sleep(2);
    } catch (InterruptedException e) {
        System.out.println((System.currentTimeMillis() - start) + "ms后中断了");
    }
}

运行结果:
在这里插入图片描述
可以发现,如果一个线程在没有执行可中断方法之前就被打断,会立即中断执行可中断方法,所以才几乎会是0ms。

本文地址:https://blog.csdn.net/weixin_38106322/article/details/107370576

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网