极客时间返利平台,你可以在上边通过山月的链接购买课程,并添加我的微信 (shanyue94) 领取返现。

# 数据库死锁是怎么产生的

Issue

欢迎在 Gtihub Issue 中回答此问题: Issue 227 (opens new window)

多个事务对资源的交替顺序访问,如

事务 1,访问 A 表,A 表锁住,访问 B 表,此时 B 表却被事务 2 锁住,等待 事务 2,访问 B 表,B 表锁住,访问 A 表,此时 A 表却被事务 1 锁住,等待

由此观之,此死锁出现的条件极为苛刻

  1. 并发,产生多个事务
  2. 顺序,对相同资源的不同顺序访问 (干嘛要不同顺序呀)
  3. 时机,恰好两个事物都刚刚走完了第一步

更多示例 (opens new window)

Last Updated: 11/27/2021, 6:11:48 PM