|
|
1
2
首先,我假设每个进程都有某种可用的唯一标识符。这可以是一个进程ID,或者在没有竞争条件的情况下保证是唯一的。将该值写入具有相同名称的文件,这样您就不会在创建该文件时遇到竞争。然后,如果不存在,将其移动到名为“lock”的文件中。通过查看内容来检查这是否成功。现在从确认号文件中读取该值。检查“lock”文件中是否有您的唯一标识符——这可以确保不会有两个人试图将文件移动到lock。如果是您的,请将递增的编号和唯一ID写回确认号文件。再次检查您是否持有锁,确认号文件是否具有您的ID。然后删除锁文件。 如果失败,只需等待锁定文件消失,然后再试一次。 这将允许您以无争用的方式写入文件,并确保序列号始终增加1。 |
|
|
2
0
您可以在Windows注册表中跟踪确认号,但如果提供了该选项,那么按照您的建议使用简单的文本文件可能会更容易。确保每次清除(即释放)文件句柄以释放任何文件锁。 |
|
|
3
-1
我认为XML是一个很好的解决方案。 This post可能会使XML对您来说更加容易。 |