我正在编写一个广泛使用多线程的应用程序。一些线程使用 ReaderWriterLockSlim 共享一个 observablecollection。
我有时会遇到死锁,我需要知道在死锁发生时哪个线程持有锁。我怎么知道这个?我查看了对象属性,但没有发现任何明显的东西。目前我所知道的是哪些线程正在等待锁。
感谢您的帮助!
编辑:当然,我说的是在调试时使用所有可用的调试信息找到它。
最佳答案
在死锁期间,只需查看线程调试面板中的当前线程,查看调用堆栈,您就会发现哪个线程获得了锁。
如果你需要知道你的代码中的线程id,你总是可以静态保存它,或者继承readerwriterlockslim并添加一个线程属性。
关于c# - 如何知道谁拥有 ReaderWriterLockSlim?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10727243/