共享
内存
是
进程
通信的一种方式。此方式会开辟一部分可以被多个
进程
共享
访问的物理
内存
区域。进行通信的多个
进程
分别将该
内存
区域映射到自己的虚拟地址空间,则这些
进程
就可直接访问
共享
内存
,从而达到通信的目的。这种方法
进程
间
共享
数据时最快,一个
进程
修改
共享
内存
的数据后,其他
进程
可以立即看到。
2 通信步骤
#include<sys/ipc.h>
共享
内存
是
进程
间通信方式中效率最高的,由内核创建,少了两次拷贝,直接操作
共享
内存
。优点:高效。缺点:不提供同步与互斥。 //comm.h
1 #include<stdio.h>
2 #include<stdlib.h>
3 #include<unistd.h
共享
内存
首先应该清楚,
共享
内存
是
进程
共享
数据最快的一种方法,同样这也表明了它的不安全性因素。 一、获得\创建
共享
内存
#include #include int shmget(key_t shmid,size_t size,int shmflg); key 0(IPC_PRIVATE):会建立新
共享
内存
对象,大于0的32位整数:视参数shmflg来确定操作。通常要求此值来源于ftok返回的IPC键值 size 大于0的整数:新建的
共享
内存
大小,以字节为单位 ;只获取
共享
内存
时指定为0 shmflg 0:取
共享
内存
标识符,若不存在则函数会报错 IPC...