多次听到死锁,但在多线程编程的上下文中是什么 dreadlock ?
更新: IAbstract's answer指向白皮书的链接,该白皮书解释了名为 dreadlock 的算法(不是它看似的产品)。它非常彻底地涵盖了这个概念。但是,简要总结一下它的内容:
检测死锁的常用方法是跟踪哪些线程锁定了哪些资源。这基本上产生了线程到资源的图形,并且当该图形中出现循环时发生了死锁。这种方法被称为自旋锁,并且还因其昂贵而闻名,因此通常也使用诸如简单锁定超时之类的更有效的替代方案。 Dreadlock算法似乎是常规自旋锁算法无效的解决方案,通过最小化跟踪锁定周期所需的数据量。
答案 0 :(得分:3)
Dreadlock looks like a new product或工具集来查找或检测死锁(尽管在发生崩溃时,您将诅咒可怕的死锁)。 (链接由Felix Kling提供)
答案 1 :(得分:0)
当进程请求资源并且该资源由某个其他等待进程保留并且该进程永远无法更改其状态时,该情况称为死锁。