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

Issue

欢迎在 Issue 中交流与讨论: Issue 227

Author

回答者: shfshanyue

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

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

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

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

更多示例

扫码关注公众号全栈成长之路,并发送

即可在关注期间无限制浏览本站全部文章内容

你也可以在文章关于回复公众号扫码解锁全站的技术实现中获得解锁代码,永久解锁本站全部文章

Last Updated: 3/14/2020, 2:09:21 PM