为什么MySQL不使用重入锁?

时间:2018-06-30 20:50:49

标签: mysql transactions deadlock

对于我的问题,我引用了https://dev.mysql.com/doc/refman/5.7/en/innodb-deadlock-example.html官方文档中的死锁示例。

我很好奇MySQL的设计者为什么选择不允许重入锁,即允许事务使用已经持有的锁来跳过队列。

在示例中,当它说Finally, client A also attempts to delete the row from the table:时,为什么A不能跳过队列,因为它已经持有了锁并继续删除行?然后,客户端B运行其事务,没有找到与i=1匹配的行并成功。这样无法避免死锁吗?

0 个答案:

没有答案