Я использую именованный мьютекс для блокировки доступа к файлу (с путем 'strFilePath') в конструкции вроде этой:
private void DoSomethingsWithAFile(string strFilePath)
{
Mutex mutex = new Mutex(false,strFilePath.Replace("\\",""));
try
{
mutex.WaitOne();
//do something with the file....
}
catch(Exception ex)
{
//handle exception
}
finally
{
mutex.ReleaseMutex();
}
}
Таким образом, код будет блокировать поток только тогда, когда тот же файл уже обрабатывается. Ну, я протестировал это и, кажется, все работает нормально, но я действительно хотел бы узнать ваши мысли по этому поводу.