我正在尝试理解MAP_SHARED影响mmap的方式。
手册说:
MAP_SHARED 分享此映射。映射的更新对于映射相同区域的其他进程是可见的,并且(在文件支持的映射的情况下)被传递到底层文件。 (要精确控制何时对基础文件进行更新,需要使用msync(2)。)
我不清楚是否通过底层对象(文件)将更改从一个进程传递到另一个进程,如果是这样,则需要msync ()
来确保其他进程可以看到更改。
或者,这些文件是否映射到共享内存中,该文件在文件的同一区域上被mmap ()
的其他调用重用?
如果是这样,所有更改将立即可供其他进程使用。