次のコード行があります。
// index is an integer
Mutex mutex = new Mutex(false, "MUTEX_PREFIX" + index.ToString());
mutex.WaitOne();
// Access to the shared object which should not be accessed by multiple threads.
mutex.ReleaseMutex();
他のスレッドでも同じロジック (mutex という名前) が使用されるため、適切なリソースに対して適切なロックが使用されるようにします。
問題は、namedmutexが別のスレッド (またはプロセス) によって取得された場合、現在のスレッドが 2 行目でブロックされる代わりに例外を取得することです。
私が必要とするのは、名前mutexが解放されるのを待ってから、コードを続行することです。
どこが間違っていますか?