试题
考点

专业课-操作系统-死锁-死锁特点

面5笔5

介绍典型的两种死锁情形

前往“校招VIP”小程序,刷题更快
最新校招难题刷题,快来进刷题群吧
解答

(一)线程自己将自己锁住

一般情况下,如果同一个线程先后两次调用lock,在第二次调⽤用时,由于锁已经被占用,该线程会挂起等待占用锁的线程释放锁,然而锁正是被自己占用着的,该线程又被挂起而没有机会释放锁,因此 就永远处于挂起等待状态了,于是就形成了死锁(Deadlock)。

(二)多线程抢占锁资源被困

又如线程A获 得了锁1,线程B获得了锁2,这时线程A调用lock试图获得锁2,结果是需要挂起等待线程B释放 锁2,而这时线程B也调用lock试图获得锁1,结果是需要挂起等待线程A释放锁1,于是线程A和B都 永远处于挂起状态了,死锁再次形成。

文章链接

评论
暂无评论

加载更多