我正在用 C++ 编写一个模块,它将在一组机器上运行,所有这些机器都有一个安装了 nfs 的文件存储。
我有一个通过 NFS 与所有机器共享的配置文件;并且所有人都可以读/写该文件。如何确保不会因同时访问而导致数据损坏?
我知道 NFS 有自己的锁定协议,但我认为它不可靠 -并发 nfs 访问。我还看到 iNotify 在安装 nfs 的驱动器上表现不佳 - inotifiy 示例。我不确定 stat是否有助于在写入/读取之前检查文件是否正在被访问。
如何在 C++ 中实现简单的锁定机制以避免同时访问?