5
Javaには、スレッドが実行時に保持しているロックに関する情報を要求するThreadMXBeanとThreadInfoがあります。どのようにC#で実行時にスレッドのロックとデッドロックを要求できますか?
これはC#でも可能ですか?はいの場合はどうすればいいですか?
Javaには、スレッドが実行時に保持しているロックに関する情報を要求するThreadMXBeanとThreadInfoがあります。どのようにC#で実行時にスレッドのロックとデッドロックを要求できますか?
これはC#でも可能ですか?はいの場合はどうすればいいですか?
C#ではランタイムに相当するものはありません。 これを追跡する必要がある場合は、独自のラッパーを実装する必要があります。 アプリケーションがロックに敏感である場合は、Monitor.TryEnterのタイムアウトを使用することも検討してください。
lock (object) { // Synchronized code }
デッドロックをデバッグする上で、このチュートリアルチェックアウト
try
{
Monitor.Enter(object);
}
finally
{
Monitor.Exit(object);
}
に変換します:http://blogs.msdn.com/b/mohamedg/archive/2010/01/29/をhow-to-debug-deadlocks-using-windbg.aspx –
デッドロックのデバッグでは、これは固いリンクです。 –
問題は、開発者システムで再現可能なデッドロックではありません。何らかの問題が発生した場合、ターゲットは顧客システムにログオンしています。 – Horcrux7