Linux进程间的通信-基于无序文件
来源:互联网 发布:陈一发 整容 知乎 编辑:程序博客网 时间:2024/06/05 21:04
写在前面:小生纯业余选手,开此博仅仅是为了积累,纯当笔记来用。如有看官光临小生博客,请不要相信我的代码就是正确的。如果您发现了错误也恳请耽误您一点时间,请您在下面指出来,不胜感激!
如果发现一些笔记的说法完全是错误的请建议我删除!
如下是基于无序文件的通信代码,代码中通过mmap把文件映射到内存像处理数组一样处理文件,上面一段程序向fd所代表的文件中写数字,下面的程序从文件中读数据。
通过如下操作可以看出基于普通文件的通信机制有时候是靠不住的。
1.运行上面一段程序一小段时间后,再运行下面一段
2.同时运行两个程序一段时间后中止上一段程序的运行
3.同时运行两个程序一段时间后中止下面一段程序的运行,然后再开始下面一段程序的运行
#include<stdio.h>#include<fcntl.h>#include<sys/mman.h>#include<unistd.h>int main(){ int fd = open("tmp",O_RDWR|O_CREAT,0666); ftruncate(fd,4); int *p = static_cast<int*>(mmap(0,4,PROT_READ|PROT_WRITE, MAP_SHARED,fd,0)); int i = 0; while(1) { sleep(1); *p = i; i++; } return 0;}
#include<stdio.h>#include<fcntl.h>#include<sys/mman.h>#include<unistd.h>int main(){ int fd = open("tmp",O_RDWR); int *p = static_cast<int*>(mmap(0,4,PROT_READ|PROT_WRITE, MAP_SHARED,fd,0)); while(1) { sleep(1); printf("%d\n",*p); } return 0;}
0 0
- Linux进程间的通信-基于无序文件
- Linux进程间的通信-基于有序文件
- Linux进程间的通信-基于有序文件(匿名管道)
- Linux c 基于socket文件的进程通信—对等模型
- Linux c 管道文件-进程间的通信 mkfifo、pipe
- Linux的进程间通信-文件和文件锁
- Linux——基于共享内存 消息队列和基于Socket的进程间的通信
- Linux进程间的通信--管道通信
- linux进程间的通信
- Linux进程间的通信
- Linux进程间的通信
- Linux进程间的通信
- Linux进程间的通信
- Linux进程间的通信
- linux进程间的通信
- 基于DBus的进程间通信(IPC)
- 基于Message的进程间通信实例
- Android--基于Message的进程间通信
- spring 配置数据源 hibernate等信息
- Hibernate执行Update操作之后查询跟新的语句出错
- SQL中DATEADD和DATEDIFF的用法
- uva6469禁位排序
- POJ1995 Raising Modulo Numbers 快速幂
- Linux进程间的通信-基于无序文件
- 华为-将无符号的指定bite位置1
- 截取txt文件中的第1623行到第1648行之间的文字
- #pragma init_seg使特定的全局变量优先于其他的全局变量先构造
- asp.net 退出登陆(解决退出后点击浏览器后退问题仍然可回到页面问题)
- 有了Docker,一分钟就可以在你的笔记本上快速部署Spark集群
- Windows 运行机制
- poj1067
- hud 4740 The Donkey of Gui Zhou(深搜DFS)