【问题标题】:Deadlocks in concurrent transactions并发事务中的死锁
【发布时间】:2011-12-01 03:58:36
【问题描述】:

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

【问题讨论】:

  • 这是工作挑战之类的东西。我的老板让我做一些研究。

标签: concurrency deadlock


【解决方案1】:

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

在两个并发事务的情况下,在任意资源上获取锁我不明白如果没有所有正在获取的锁的“主管”视图,我们怎么能做到这一点。如果我们有这种监督观点,那么我们可以应用前面提到的算法。

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

【讨论】:

  • 你能给我指出一个数据库单一资源管理器的好资源吗,我记得银行家算法和鸵鸟在这种情况下不起作用。
  • 您想要循环检测方法。恐怕我不知道任何示例实现。我在上面添加的参考描述了算法。
猜你喜欢
  • 1970-01-01
  • 2020-07-08
  • 1970-01-01
  • 2018-08-04
  • 1970-01-01
  • 2016-06-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多