问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

Java 为什么可以先interrupt,后sleep ?

发布网友 发布时间:2022-05-15 07:41

我来回答

3个回答

热心网友 时间:2023-08-15 08:17

因为interrupt在 java 内部实际上是设定了一个标志位叫 interrupt status ,可以中断任何阻塞状态,包括 sleep 在内,但是 interrupt 本身不会做什么主动的动作去恢复一个阻塞状态的线程,所以事情是这样的

在 interrupt 那行标记了重担标志
在 sleep 那行要阻塞的时候看到这个标志位后自己抛出了InterruptedException

不信你可以把 interrupt 那行从 try and catch 段中移到前面,你会发现不会抛任何异常直接走过去,然后到 sleep 才抛异常

理解了原理,就好想了

热心网友 时间:2023-08-15 08:17

public static void main(String s[]) {
sop("Start");
Thread t=Thread.currentThread();
try {
Thread.sleep(3000);
t.interrupt();
} catch (InterruptedException e) {
sop("Be interrupted~!!");
}
sop("OVER");
}
public static void sop(Object obj){ System.out.println(obj); }

这样应该才会停一会追问我的意思是:
interrupt应该是中断线程的阻塞状态,让他恢复运行。
但是,现在线程都没有被阻塞,就interrupt,那这个interrupt应该是无效的‍。
而实际上,他却有效?!

interruptinterrupt
就是说,我觉得运行效果应该是停3秒,而且不会触发异常。
但是,实际效果是没有停留,而且触发了异常!

追答你原来写的输出

Process started >>>StartBe interrupted~!!OVER<<< Process finished. (Exit code 0)

这明明中断线程了。

热心网友 时间:2023-08-15 08:18

即使先interrupt,也不可能中断,只有在sleep时,才能中断。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
建筑风水之阳宅形煞说 单位结算卡能不能直接转账?确实可以直接转账 能遮挡聊天记录的规则马赛克是用哪个软件打的 下巴这段时间长了好多大大个的痘痘怎么办。 干货丨英国学生准备瑞典申根签超详细攻略 VFS Global系统预约英国签证中心操作详解2021版 保温杯里泡茶过夜能喝吗 保温杯的茶多久不能喝 保温杯中的茶可以存放多长时间? 关于韩国果蔬瘦纤体奶茶的认证问题 果蔬瘦纤体奶茶有副作用吗? 冷暖风扇结构图 同纬度的北京冬天为什么比丹东暖和 java中interrupt Java interrupt无法中断线程 北京今年实在是太暖和了,真是暖冬啊!大家有同感吗? QQ在对方空间留言,对方删了还能看到吗 关于java中的interrupt()方法疑问 为什么北京今年冬天不下雪啊(除了上次那一点点)难道真的全球变暖?有关系么 java中interrupted 和 isinterruptedd方法的区别 纽约市和北京市纬度差不多,为什么纽约市冬季多雪而北京市冬季冷而少雪? java多线程,this.interrupted为什么可以调用?interrupted是静态方法啊 北京的冬天越来越暖和了,您感觉到了吗? Java 线程调用interrupt的作用 为什么这些年北方的冬天越来越暖和了? 激光打标技术的机理是怎样的? 北京市气候变暖的原因 北京几月份开始不冷了? 海尔滚筒洗衣机为什么定时56分到30分钟就不转动了? 半命题作文 我依然...记叙文 康佳led55t60u电视有没有蓝牙 关于java中 interrupt,中断线程,我怎么怎样都不能中断 北京采取的有关解决气候变暖的措施有哪些? 北京天气是不是已经渐渐变暖了? 请问,北京的天气,在初五左右怎么一下子就变暖了?没有冷暖过渡呀? java 中的interrupt问题 北京什么时候天气会变暖! java中在main里不管是哪个对象调用的interrupted返回的总是main线程的运行状态标 为什么会出现java.lang.InterruptedException 关于JAVA多线程interrupt sleep的问题 Java中多线程只要一执行interrupt就一定会引发异常吗? 没有户口本怎么查户号 Java interrupt方法当线程阻塞的时候退不出来 多肉植物雨和张拉丁文名称.女雏的也想要.据说他们是同一个.谢谢 协议离婚财产分割协议 雨荷张多肉好养吗 多肉雨和张又叫女雏吗 这个多肉叫啥名? 这盘多肉叫什么 养在水里的绿萝要加肥吗 请问这是什么品种,好像不是观音莲