首页 > 试题广场 >

假如有两个线程,都需要申请锁m1、m2,并且都执行以下操作时

[单选题]
假如有两个线程,都需要申请锁m1、m2,并且都执行以下操作时,请问哪种操作可能带来死锁?
  • 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)
设t1是线程1,t2是线程2

第一步
t1拿到m1,t2没拿到就等
第二步
t1拿到m2,t2干等---》t1把m1释放
第三步
t1释放m1, t2终于拿到了m1
第四步
t1要拿m1, t2要拿到m2.死锁因为想拿的都在对方手里
发表于 2022-09-06 10:03:26 回复(0)