代码打印结果全部都是main线程

来源:5-14 interrupt状态

慕融

2021-05-06

// 启动线程
threadOne.start();
System.out.println(Thread.currentThread().getName());
// 设置中断标志
threadOne.interrupt();
System.out.println(Thread.currentThread().getName());
// 获取中断标志
System.out.println("isInterrupt: " + Thread.currentThread().getName() + " " + threadOne.isInterrupted());
// 获取中断标志并重置
System.out.println("isInterrupt: " + Thread.currentThread().getName() + " " + threadOne.interrupted());
// 获取中断标志并重置
System.out.println("isInterrupt: " + Thread.currentThread().getName() + " " + Thread.interrupted());
// 获取中断标志
System.out.println("isInterrupt: " + Thread.currentThread().getName() + " " + threadOne.isInterrupted());
threadOne.join();
System.out.println(“Main thread is over.”);

老师我这里打印出来全部都是main线程
输出结果为 main
main
isInterrupt: main true
isInterrupt: main false
isInterrupt: main false
isInterrupt: main true
如果全部都为main线程的话是不是应该输出结果为 true false false fasle

写回答

1回答

悟空

2021-05-07

main代表执行打印这个动作的线程是main线程,但是我们打印的内容是子线程的中断状态,这两者是有区别的。

0
2
慕融
谢谢老师,我是主线程子线程有点傻傻分不清了,我再补补这方面的知识
2021-05-07
共2条回复

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

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

2512 学习 · 939 问题

查看课程