0

我正在设计一个基于文件系统的队列,当队列非常大时,它会影响扫描队列以计算其大小的性能。我正在寻找一种方法来计算来自许多不同进程的任务完成情况。我的一个想法是创建一个“完成”文件,每个进程以附加模式打开并贡献一个字节。然后文件的大小将是完成的数量,这意味着操作系统正在为我有效地管理所有计数器锁定。

我想知道是否有一种方法可以做到这一点,而无需使用稀疏文件写入任何字节。我可以用 size = size + 1 调用 ftruncate,但这显然会导致许多竞争条件。我想知道是否有一种方法可以在附加模式下写入一个字节并让该字节永远不会实现。

感谢您的建议!

4

0 回答 0