2009-11-25 152 views
0

我试图找到一种算法来检测软件中并发事务中的死锁。我尝试了谷歌搜索,但没有发现任何东西。有人可以指出一个很好的资源来跟踪这个问题,或有人可以解释这个算法吗?并发事务中的死锁

+0

它是否与家庭作业有关? – 2009-11-25 07:48:53

+0

是工作挑战类的东西。我的老板让我对它做一些研究。 – persistence 2009-11-25 08:13:47

回答

1

检测死锁意味着一些正在获取的资源的知识。在更简单的情况下,单个资源管理器(例如数据库)拥有资源(例如记录上的锁),因此可以检测锁请求中的周期。因此,可以应用诸如here讨论的那些算法。

在两个并发事务的情况下,对任意资源进行锁定我没有看到我们如何在没有所有正在执行的锁的“超级用户”视图的情况下做到这一点。如果我们有这种监督观点,那么我们可以应用前面提到的算法。

我们主要在资源需求中寻找循环。这是一种方法的outline

+0

你能指点我一个数据库单资源管理器的情况下,一个很好的资源班克斯算法和鸵鸟不起作用从这种情况下,我记得。 – persistence 2009-11-25 08:59:33

+0

您需要循环检测方法。害怕我不知道任何示例实现。我上面添加的参考文献描述了该算法。 – djna 2009-11-25 18:29:11