我们可以使用死锁吗?

时间:2014-11-10 13:45:09

标签: process transactions deadlock

我想知道这件事。死锁是我们更愿意避免的,但是在任何情况下我们都可以利用死锁来获得优势吗?

2 个答案:

答案 0 :(得分:2)

  

deadlock是一种情况,其中两个或多个竞争行为各自等待另一个完成,因此两者都没有。

enter image description here

所以你的目标是避免陷入其中。如果您的代码导致死锁,那么您需要返回并重新设计一些代码以避免/最小化此类死锁。还有一种好的想法,可以进行某种恢复。当你遇到僵局时的警告机制。

现在提出您的问题:这可以用于什么吗?嗯,总有一个好用的东西取决于你的情况和你的目标。以下是一些场景:

  • 如果你是一名试图攻击某个应用程序的黑客,你可以通过强制进入许多死锁来冻结系统。
  • 如果您是某个死锁检测系统的构建者,那么您希望在测试环境中生成此类死锁,以查看它是否会被您的系统捕获。

答案 1 :(得分:1)

NO!

“死锁”会将您的代码执行置于无法继续执行的状态。

(警告,讽刺评论:如果这是你想要的,就不要运行代码)。