私はシステムミューテックスでロック(クロスプロセス)したい共通データベースを持つ2つのWindowsサービスに取り組んでいます。 ミューテックスを処分すべきですか?
は、今私は(例えばusing
ブロックで)それだけで
try-finally
ブロックに
WaitOne()
と
ReleaseMutex()
を呼び出すために大丈夫ですか、私はまた、ミューテックスを配置すべきかどうか迷っています。もしそうなら、私はいつもを
WaitOne()
メソッドでキャッチすべきか、ここで間違っていますか?
mutexを所有するサービスが予期せず終了したことを通知するには、AbandonedMutexExceptionが必要です。その場合は、dbaseの使用をやめ、他のサービスが再び起動するまで待ちます。3番目のプロセスを使用してアービタとして行動することは賢明です。 –