老师,关于打印顺序的问题

来源:7-11 sleep总结

张婧仪

2023-04-04

我的代码如下:

public class SleepInterrupted implements Runnable {
    public static void main(String[] args) {
        SleepInterrupted sleepInterrupted=new SleepInterrupted();
        Thread thread=new Thread(sleepInterrupted);
        thread.start();
        try {
            Thread.sleep(6500);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        thread.interrupt();

    }
    @Override
    public void run() {
        for (int i = 0; i < 10; i++) {
            System.out.println(new Date());
            try {
                TimeUnit.SECONDS.sleep(1);
            } catch (InterruptedException e) {
                System.out.println("我被中断了!");
                e.printStackTrace();
            }
        }
    }
}

打印结果是:
图片描述

我的问题:
我不理解为啥打印“我被中断了”和打印异常之间,插入了一个打印时间(红箭头指的)

写回答

1回答

悟空

2023-04-13

System.out.println代码编写顺序和执行顺序不完全一致

0
0

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

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

2512 学习 · 939 问题

查看课程