进程间的通信(二)

进程间通信(一)
这一节讲共享内存
内存大家都知道是什么东东,那共享内存是什么东东呢?很简单嘛,内核专
门留出了一块内存,这段内存呢,可以由需要访问的进程将其映射到自己的私有
地址空间,不同进程可以及时看到某进程对共享内存的数据进行更新。采用内存
共享通信机制的好处是什么呢?很明显,就是效率非常高,为什么?因为进程可
以直接读写内存,不再需要进行数据的拷贝。当然了,由于多个进程都可以对共
享内存进行读写数据,自然地,要引进某种同步机制,如互斥锁和信号量等。

如何实现共享内存
共享内存的实现分为两个步骤,第一步是创建共享内存,这里用到的函数是
shmget,也就是从内存中获得一段共享内存区域。第二步映射共享内存,也就
是把这段刚创建的共享内存映射到具体的进程空间去,这里使用的函数是 shmat。
完成这二步后,就可以使用不带缓存的 I/O 读写命令对其进行操作啦。如果要撤
销映射,那么使用函数 shmdt 来实现。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值