我在 Linux 平台上有一个应用程序,需要服务器程序不断地将数据写入 bin 文件。同时另一个程序需要读取写入的值。如果我在读写过程中没有锁定文件,我应该担心吗?
最佳答案
你应该担心。我假设您确定没有其他程序(除了您问题中提到的两个可执行文件)正在访问该文件。您确实应该锁定以序列化该访问。使用 flock(2) , 或 lockf(3)使用 fcntl(2)
顺便说一句,文件是顺序读写的吗?您是否考虑过使用一些更高级别的东西,例如GDBM或一些数据库,如 mariadb或 postgresql或 mongodb等等……
关于c - 两个不同的 C 程序正在访问一个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17462309/