我有一个 .NET 系统,我需要在其中允许跨进程边界锁定和解锁文件。我打算使用的模型是这样的:
- 用户生成锁定令牌
- 使用令牌锁定文件并刷新令牌
- 根据需要在 #2 重复
- 使用通过释放令牌来解锁所有文件
- 如果使用在某个时间范围内无法刷新令牌,#4 会自动发生
每个步骤都可以从不同的过程中完成。
问题有两个:这是一个合理的模型吗?是否有任何现成的工具可以实现它?如果这不能直接在操作系统中完成,我正在考虑使用.file
s 等进行某种咨询锁定。
编辑:此模式获得非独占读锁,但其他模式可以获得独占写锁,但它们总是由获得它们的同一进程释放。