经典指数          
原因
3216
浏览数
0
收藏数
 

下列哪种操作可能带来死锁?
  • lock(m1) lock(m2) unlock(m1) unlock(m2)
  • lock(m1) lock(m2) unlock(m2) lock(m2) unlock(m1) unlock(m2)
  • lock(m1) lock(m2) unlock(m1) lock(m1) unlock(m2) unlock(m1)
  • lock(m1) lock(m2) unlock(m1) unlock(m2) lock(m1) unlock(m1)

     举报   纠错  
 
切换
1 个答案

A也有问题 线程1,低优先级,如此执行:lock(m1)-lock(m2)-unlock(m1)

这时线程2,高优先级,如此执行:lock(m1)—>lock(m2)被锁住

这时中优先级线程3一直执行,使线程1得不到执行,m2得不到释放,最终最高优先线的线程2被锁住,优先级被反转

 
切换
撰写答案