gpt4 book ai didi

c++ - 从两个进程安全访问文件

转载 作者:太空宇宙 更新时间:2023-11-04 09:44:21 24 4
gpt4 key购买 nike

假设我有两个进程。一个总是驻留在内存中,并定期从磁盘上的文件中读取一些设置。如果它检测到设置已更改,则会应用它们。

另一个进程按需运行在命令行下,修改设置。因此,第一个进程只读取文件而从不写入文件,而第二个进程只能写入文件。

我是否应该同步对文件的访问以确保第一个进程始终获得一致的设置,即修改之前或之后而不是一些中间内容?如果是,用 C++ 执行此操作的最简单方法是什么。

我主要对跨平台方式感兴趣。但也对特定于 Windows 和/或 Linux 的那些感到好奇。

最佳答案

使用命名信号量并要求任一进程在编辑磁盘上的文件之前持有信号量。任何正在运行的应用程序都可以连接命名信号量。

查看 man 7 sem_overview 以获取有关 linux 机器上命名信号量的更多信息。

我能找到的最接近 Windows 的等效项是 http://msdn.microsoft.com/en-us/library/windows/desktop/ms682438(v=vs.85).aspx

关于c++ - 从两个进程安全访问文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18036044/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com