标签: concurrency deadlock
我试图找到一种算法来检测软件中并发事务中的死锁。我试过谷歌搜索但没有找到任何东西。有人可以指出一个很好的资源来关注这个主题,或者有人可以解释这个算法吗?
答案 0 :(得分:1)
检测死锁意味着对正在获取的资源有所了解。在更简单的情况下,单个资源管理器(例如数据库)拥有资源(例如记录上的锁),因此可以检测锁定请求中的循环。因此,可以应用诸如here所述的算法。
在两个并发事务的情况下,对任意资源进行锁定我没有看到如果没有正在采取的所有锁的“超级用户”视图我们如何做到这一点。如果我们有监督视图,那么我们可以应用前面提到的算法。
主要是我们正在寻找资源要求的周期。这是一种outline方法。