<分区>
Possible Duplicate:
simple deadlock example in c#
我一直在处理我的应用程序中的多线程,目前正在学习死锁。
我想编写一个实际导致死锁的快速应用程序,以便我可以观察效果,并尝试补救这种情况。
是否有任何情况可以保证 100% 的时间死锁,我可以在 C# 中模拟?
<分区>
Possible Duplicate:
simple deadlock example in c#
我一直在处理我的应用程序中的多线程,目前正在学习死锁。
我想编写一个实际导致死锁的快速应用程序,以便我可以观察效果,并尝试补救这种情况。
是否有任何情况可以保证 100% 的时间死锁,我可以在 C# 中模拟?
最佳答案
我没有针对这个特定案例的现成代码 (:
但在心理密码中,您可以做的是:
线程 1:
拿锁1
睡 30 秒
拿锁2
免费锁2
免费锁1
线程 2:
拿锁2
睡 30 秒
拿锁1
免费锁1
免费锁2
每个线程都可以在其上运行,但是它们一起或多或少同时启动会导致死锁
关于用于演示死锁的 C# 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8430529/