共享内存使用映射的方式,把我们的共享区域内容映射到不同的进程的地址空间里面去;

操作系统修改不同的进程的页表,让不同的进程的空间指向我们的物理内存的同一块区域里面去;

为什么这个key需要我们的进程自己进行随机生成,而不是操作系统统一进行管理,这个下面给出来了明确的通俗的解释;

key和shmget之间的区别,以及我们的shmid是给我们的进程进行使用的,方便我们的进程对于共享内存进行后续的操作;

shmget创建这个共享内存,我们的shmat指向了进程里面的虚拟内存,完成这个映射的工作:从此我们的进程可以针对于这个共享内存进行访问和操作;

通过类似的引用计数的操作,当我们的计数器的数字变为0的时候,这个数字幽灵,也就是我们的共享内存才会被完全的删除;

不同的IPC通信机制的结合使用,解决我们的共享内存不提供同步保护机制的问题;

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。