【发布时间】:2015-07-16 15:11:55
【问题描述】:
我实际上是在尝试通过在读取器进程中使用内存映射文件来“尾随”文件,而写入器进程在某个时间间隔向其附加数据(使用 stdio)。
我的问题是内存映射文件和写入器之间的同步如何在幕后工作?我需要任何额外的同步机制吗?
我可以使用 inotify 找出文件何时被修改,但我不确定内存映射文件是否也能保证被更新。
我正在使用带有 gcc 4.8.2 的 Linux ubuntu。
【问题讨论】:
-
可能。但我想对内存映射文件如何与文件 io 交互以及内核在幕后做了什么进行补充说明。另请注意,在另一个问题中,有问题的线程都使用内存映射文件。在这种情况下,只有一侧是。
标签: c++ linux file-io shared-memory