Дополнительные блокировки файлов процесса

У меня есть система .NET, в которой мне нужно разрешить блокировку и разблокировку файлов через границы процессов. Модель, которую я планирую использовать, такова:

  1. Пользователь генерирует токен блокировки
  2. Использует Блокирует файл с токеном и обновляет токен
  3. повторить в № 2 по мере необходимости
  4. Использует разблокирует все файлы, выпуская токен
  5. Если пользователям не удается обновить токен в течение некоторого периода времени, № 4 происходит автоматически.

Каждый шаг может быть выполнен из другого процесса.

Вопрос состоит из двух частей: приемлема ли эта модель и есть ли готовые инструменты для ее реализации? Если это нельзя сделать напрямую в ОС, я думаю о каком-то консультативном блокировка с помощью .files или тому подобное.

Редактировать: этот режим получает неэксклюзивные блокировки чтения, но другие режимы могут получать монопольные блокировки записи, но они всегда будут сняты тем же процессом, который их установил.


person BCS    schedule 29.04.2009    source источник
comment
Вам нужно использовать файлы специально? Почему не именованный Mutex? msdn.microsoft.com/en-us/library/system. threading.mutex.aspx   -  person Tim Robinson    schedule 30.04.2009
comment
Вы хотите читатель-писатель или эксклюзивный замок?   -  person JP Alioto    schedule 30.04.2009
comment
@Tim: это не сработает, так как Mutex освобождается при выходе из потока.   -  person BCS    schedule 30.04.2009
comment
Я думаю, что эта ветка SO может ответить вам.   -  person JP Alioto    schedule 30.04.2009