【发布时间】:2017-07-12 09:33:19
【问题描述】:
我正在跨多个进程共享一些内存(使用shm_open 创建,我使用mmap 映射不同的“区域”)。我正在使用命名信号量来同步对该内存的访问。
我在该内存中有一个只读区域(它已由创建共享内存对象的进程设置)。我还需要使用互斥锁来让进程读取该区域吗?如果可以同时读取该区域,我可以删除命名信号量并共享未命名信号量。
问题与here 的问题类似,但可能 OP 不够清楚。
【问题讨论】:
-
只要在任何只读访问之前设置共享内存并且在初始化之后从未更改,您就可以安全地进行并发读取。
标签: linux shared-memory