オブジェクトのWaitOne
メソッドはをスローできます。したがって、ミューテックスを待つことで、通常の状態と放棄された状態を区別することができます。Mutex
AbandonedMutexException
待機するもう1つの方法は、ThreadPool.RegisterWaitForSingleObject
メソッドを使用してコールバックを登録することです。コールバック(別のスレッドで実行されている)内で、ミューテックスが通知されている(コールバックが呼び出されている)ことを知っています。待機がタイムアウトしたかどうかもわかりますが、ミューテックスがタイムアウトしたかどうかを知る方法はありません。放棄されました。
それが正しいか?