共享内存代码
来源:互联网 发布:倩女幽魂有没有mac版 编辑:程序博客网 时间:2024/05/21 08:45
#include <stdio.h>#include <sys/ipc.h>#include <sys/shm.h>#include <string.h>#include <unistd.h>#include <stdlib.h>int main(){ int shmid=shmget(IPC_PRIVATE,100,IPC_CREAT | 0666);//创建一个公共区域// 内存ID 只能用于父子,大小,权限(给予权限或,检查权限与) if(shmid == -1) { perror("shmget"); exit(-1);//结束进程 } pid_t pid=fork(); else if(pid==0)//子进程 { void* p=shmat(shmid,NULL,0);//将共享内存映射到当前进程地址空间 //后面两个一般固定为0 strcpy((char*)p,"hello");//写 sleep(1);//等父进程写完//用信号方式更精确 printf("父进程说:%s\n",p);//读 shmdt(p);//取消映射 } else//父进程 { void* p=shmat(shmid,NULL,0); char msg[100]; // wait(NULL);//自行确保子进程已经写完 sleep(1); strcpy(msg,(const char*)p);//读//共享内存没有同步处理机制 printf("子进程说:%s\n",msg); sprintf(p,"%s","hi"); shmdt(p);//取消映射 shmctl(shmid,IPC_RMID,NULL);//删除共享内存 } return 0;}
阅读全文
0 0
- 内存共享代码示例
- 共享内存代码
- 共享内存示例代码如下:
- [代码实例]一个共享内存的class
- 进程间通讯-共享内存2(代码)
- Linux进程通信---共享内存 代码实现
- 共享内存总结以及实现代码
- 【共享内存】共享内存
- 共享内存
- 共享内存
- 共享内存
- 共享内存
- 共享内存
- 共享内存
- 共享内存
- 共享内存
- 共享内存
- 共享内存
- matlab2c使用c++实现matlab函数系列教程-harmmean函数
- Android studio 错误: 程序包 不存在
- MySQL索引实战经验总结
- Java并发编程:并发容器之CopyOnWriteArrayList
- 物联网NB-IoT与LoRa技术浅析
- 共享内存代码
- Recycleview使用详情及添加点击事件
- 黑幕!虚拟化社区被攻击,狗血的剧情
- hdu 1536 S-Nim(SG函数)
- HTML+CSS+JS实现banner横幅自动切换效果
- 接雨水
- https
- Storm安装笔记
- Django unittest 设置跳过某些case