特にグローバルな相互ロックでは、Mutex(Mutex)の使用は難しい場合があります。 C#で作成および使用される信頼性の高い安全なモデルは何ですか?
回答:
1。一意の識別子を使用してください:
アプリケーションのアプリケーションを使用して、グローバルな相互にロックする一意の識別子を作成します。これにより、相互ロックがアプリケーションに固有のものであり、他のアプリケーションと競合しないことが保証されます。 2。正しく作成してリリースします:
構造関数(がに設定されている)を使用します。これにより、相互ロックが存在しない場合、または存在する場合に取得される場合に作成されます。完了後、を使用して相互ロックをリリースしてください。
Mutex(bool, string, out bool) はcreatedNew
ブロックで呼び出され、true
をキャプチャします。この異常は、相互ロックを保持する以前のプロセスが放出されないときに発生します。この場合、この例外は無視でき、それでも取得できます。 ReleaseMutex()
WaitOne()
のタイムアウトを設定することを検討してください。相互ロックを取得できない場合、これによりプログラムが無期限にぶらぶらすることができなくなります。 try/catch
AbandonedMutexException
コードの例:
以上がC#でグローバルミューテックスを安全かつ確実に使用する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。