私は現在Mutexを使用して、プロセス間でファイルへの同期アクセスを確立しています。
//Process 1
//High frequency "writes"
try
{
mutex.WaitOne(System.Threading.Timeout.Infinite);
try
{
//Do write operation
}
finally
{
mutex.ReleaseMutex();
}
}
catch(AbandonedMutexException)
{
//Log error
}
次に、ファイルに何が書き込まれたかを確認する必要がある場合があります。
//Process 2
//Low frequency "reads"
try
{
mutex.WaitOne(System.Threading.Timeout.Infinite);
try
{
//Do read operation
}
finally
{
mutex.ReleaseMutex();
}
}
catch(AbandonedMutexException)
{
//Log error
}
しかし、この手法で起こるProcess 2
ことは、低頻度の「読み取り」を行っている がハングアップしたように見え、リソースへのアクセスをまったく受け取らないか、そうするのに時間がかかりすぎる可能性があるということです。
私の状況で使用するより良いロックはありますか?
PS。プロセス間で使用するには互換性が必要です。