关于Blocked中发生异常

来源:7-5 wait解析

Barea

2020-06-14

老师, 请问在blocked的时候也会出现发生异常直接进入terminated状态的情况吗? 因为Blocked时被interrupted不会抛出异常, 而是在下次拿到锁, 进入runnable状态之后才发现自己已经被interruputed了 (查阅资料后自己的理解, 如果有误烦请指正). 所以想问问是不是有其他的异常发生而会导致直接进入terminated状态. 谢谢!

写回答

1回答

悟空

2020-06-15

是的,Blocked时被interrupted不会抛出异常, 而是在下次拿到锁, 进入runnable状态之后才发现自己已经被interruputed了。

所以我理解要想处理异常,是需要等到进入runnable状态之后的。

1
2
悟空
回复
Barea
waiting, timed-waiting也是在抢到锁之后再进入的runnable的。
2020-06-15
共2条回复

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

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

2512 学习 · 939 问题

查看课程