【发布时间】:2010-10-20 05:21:17
【问题描述】:
我正在审查一些代码,并对所使用的技术感到怀疑。
在linux环境下,有两个进程附加多个 共享内存段。第一个进程周期性地加载一个新的集合 要共享的文件,并将共享内存 id (shmid) 写入 “主”共享内存段中的位置。第二道工序 不断读取此“主”位置并使用 shmid 附加 其他共享段。
在多 CPU 主机上,在我看来它可能取决于实现 至于如果一个进程试图读取内存时会发生什么 被对方写。但也许硬件级总线锁定可以防止 电线上的碎屑?阅读过程是否得到并不重要 一个很快就会改变的值,只有当读取被破坏时才重要 对于既不是旧值也不是新值的东西。这是一个边缘情况:只有 32 位被写入和读取。
谷歌搜索 shmat 的东西并没有让我找到任何确定的东西 区域。
我强烈怀疑这既不安全也不理智,而我真正想要的是 like是一些详细描述问题的文章的指针。
【问题讨论】:
-
你对问题的想法已经改变(如对文本的编辑所示);您可以更新问题标题以反映这一点吗?
标签: shared-memory