老师,关于中断的问题

来源:5-5 中断信号

张婧仪

2023-04-08

我的问题:
为什么多次运行这段代码,有时候打印false,有时候打印true,总体而言,打印false的次数更多
我的理解:
不管打印什么,都抛出异常了,说明都中断了,既然中断了,打印都应该是true,不应该是false啊
我的代码如下:

 public static void main(String[] args) throws InterruptedException {
        Runnable runnable=()->{
            try {
                Thread.sleep(5000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        };
        Thread thread=new Thread(runnable);
        thread.start();
        Thread.sleep(1000);
        thread.interrupt();
        System.out.println(thread.isInterrupted());
    }

打印结果:
图片描述
图片描述

写回答

1回答

悟空

2023-04-14

我觉得你说得对,我也无法解释这个现象,如果有新消息欢迎交流。

0
2
悟空
回复
张婧仪
是的有道理
2023-04-28
共2条回复

线程八大核心+Java并发原理及企业级并发解决方案

完整的并发知识网络+丰富的工作内容分享+50余道并发高频面试题

2512 学习 · 939 问题

查看课程