首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >正在从另一个进程读取未刷新的页面

正在从另一个进程读取未刷新的页面
EN

Stack Overflow用户
提问于 2011-04-13 17:47:29
回答 1查看 114关注 0票数 2

我有一个生产者进程,它写入一个mmap文件,而一个消费者进程则从中读取。这是在Linux上。

如果生产者对mmap进行了更改,但没有立即刷新,那么当消费者访问它时会发生什么?它会从磁盘中获得旧版本吗,或者它是否足够聪明,可以获得未刷新的页面?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-04-13 18:13:06

mmap() manual page

MAP_SHARED

与映射此对象的所有其他进程共享此映射。存储到区域相当于写入文件。在调用msync(2)或munmap(2)之前,可能不会实际更新文件。

底线:如果您在调用mmap()时指定了更改,其他进程将立即可以看到更改。根据文档,您必须使用MAP_SHAREDMAP_PRIVATE,这两种方法控制映射相同文件区域的其他进程的行为。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5647269

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档