system-v IPC共享内存通信

打印 上一主题 下一主题

主题 863|帖子 863|积分 2589

目录

system v IPC简介

消息队列、共享内存和信号量统称为system v IPC(进程间通信机制),V是罗马数字5,是UNIX的AT&T分支的其中一个版本,一样平常称它们为IPC对象。这些对象的操作接口比较类似,在系统中它们都会利用一种名为key的键值来统一标识。进程每次“打开”一个IPC对象,就会获得一个表征这个对象的ID,ID可以操作这个对象。IPC的对象是唯一的,但是ID是可变的。
共享内存需要用到的函数接口

shmget函数--获取对象ID


shmat函数--获得映射空间


shmctl函数--释放资源


shmid: 共享内存段的标识符,通常是由shmget()函数返回的共享内存标识符。
cmd: 控制命令,用于指定要执行的操作。常见的控制命令包罗:
IPC_STAT: 获取共享内存段的状态信息,并将其存储在struct shmid_ds *buf中。
IPC_SET: 设置共享内存段的状态信息,buf中包含要设置的新值。
IPC_RMID: 删除共享内存段。
共享内存实现思路


注意

共享内存是sytem-v IPC 中通信效率最高的,保护性不高。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

惊落一身雪

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表