【发布时间】:2013-03-12 12:54:24
【问题描述】:
我在 5 分钟前接受了面试,我没有回答 3 个问题,有人可以帮帮我吗。
问题:
如何在多线程应用函数中寻找死锁场景并防止它?
我给出的答案:
我给出了死锁和锁、互斥体、监视器、信号量的定义。他告诉我,这些都是工具,但是如何寻找死锁的场景,因为当我们盲目使用这些工具时,它会牺牲性能他说:(
请帮助我理解这一点。
【问题讨论】:
-
您必须分析锁定模式...想不出一个非常紧凑的答案。
-
他要求一种通用的方法来检查死锁?我所知道的只是查看代码并使用一些智能...
-
为了防止死锁,你必须使用无锁实现。如果您绝对需要保留锁,则必须确保在需要多个锁时,您锁定的对象以明确定义的顺序锁定。
-
谢谢大家,我真的不知道如何实现这些东西,我是新手:(这些对我来说看起来很可怕,但是我应该通过一些视频来理解它:(
-
@TheKingDave:谢谢,我是新手 :( 他问的太多了,就像 Henk 说的那样,不能简洁地回答 :( 老实说,当你们自己说这不是很容易但可行,他怎么会问我这么大的问题:(啊!!我会研究一些资源来理解多线程的概念。再次感谢你:) 干杯
标签: c# asp.net .net c#-4.0 deadlock