在调试器中,我在执行这样的代码行时“冻结”:lock (myvar)
显然其他人持有myvar
。但是我希望在这一行myvar
应该是免费的。所以我想知道代码的哪一部分是myvar
(来自另一个主题的不同)。我怎样才能做到这一点?我知道哪个线程支持它(因为我只有另一个线程)但我不知道在哪里。
更新已解决,我忘记在Monitor.Exit(myvar)
之后致电Monitor.TryEnter(myvar)
答案 0 :(得分:3)
如果您使用的是Visual Studio 2010
,则可以查看Parallel Stacks
答案 1 :(得分:2)
lock()
语句使用不支持查询锁定线程的Monitor
类。
在Fx 4.5中,您可以检查Monitor.IsEntered(myVar)
,但这是关于它的。
其余的应该来自你的代码逻辑。