当前位置: 技术问答>linux和unix
初学者关于共享内存的几个问题-->
来源: 互联网 发布时间:2015-10-13
本文导语: 1. 为什么在主程序退出后,由该程序创建的共享内存区还存在? (shmget, shmat, shmdt) 2. 为什么不同的进程或程序可以同时修改内存区数据? 3. 为什么不同的子线程通过shmat得到的内存地址不一样,而主,子进程...
1. 为什么在主程序退出后,由该程序创建的共享内存区还存在? (shmget, shmat, shmdt)
2. 为什么不同的进程或程序可以同时修改内存区数据?
3. 为什么不同的子线程通过shmat得到的内存地址不一样,而主,子进程得到的却一样?
以上这些问题是在VMware中确认的。
2. 为什么不同的进程或程序可以同时修改内存区数据?
3. 为什么不同的子线程通过shmat得到的内存地址不一样,而主,子进程得到的却一样?
以上这些问题是在VMware中确认的。
|
1、共享内存是系统级别的,只要机器不重新启动,这个共享内存是一直存在(当然可以用ipcrm 删除)
2、可以同时修改可能是因为此快内存没有用锁或者互斥变量或其他信号量等控制
3、子进程复制父进程的数据区域。
2、可以同时修改可能是因为此快内存没有用锁或者互斥变量或其他信号量等控制
3、子进程复制父进程的数据区域。
|
可以使用信号量,等。
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。