有没有办法确定对象是否在C#中被锁定?我有一个不值得羡慕的位置,通过设计,我从一个类中的队列中读取,我需要将内容转储到类中的集合中.但是该集合也是从类外的接口读/写的.所以很明显可能存在集合写入的情况,就像我想要写入它一样.
我可以围绕它进行编程,比如说使用委托,但它会很难看.
我的应用程序中的一个线程在以下锁定语句中被阻塞并导致死锁
void ExecuteCommand()
{
lock(this._lockinstance)
{
// do some operation
}
}
Run Code Online (Sandbox Code Playgroud)
是否有可能轻松识别当前持有锁的哪个线程?..我的应用程序有超过50个线程,这使得使用visual studio查找持有锁的线程很难通过每个callstack