正常运行的线程在interrupt之后会处于什么状态?

来源:8-9 interrupt函数

阿刚Ace

2019-03-17

老师:
这里有个问题,就是一个正常运行的线程在被interrupt之后会处于一个什么状态,是跟wait或者sleep一样吗?如果是,那要怎么再次唤醒它呢?也是通过notify吗?

写回答

1回答

翔仔

2019-03-18

同学好,正如视频里说的一样,正常运行的线程,调用interrupt之后,只是把其体内的中断状态字段改变,实际还是需要根据业务去处理,比如说判断为中断后是否还要继续执行或者提前结束,此时线程依然处于Running状态。而对于wait或者sleep,由于已经让出执行,则此时咱们连中断状态都设置不了,只能抛出InterruptedException提早结束等待或者阻塞的状态,变回runnable,执行catch的逻辑。

具体可以看看这个

https://blog.csdn.net/canot/article/details/51087772

2
3
阿刚Ace
非常感谢!
2019-03-20
共3条回复

剑指Java面试-Offer直通车 百度资深面试官授课

招聘季即将到来,让百度资深面试官来为你的高薪Offer保驾护航

8427 学习 · 1870 问题

查看课程