Unix进程间通信: 命名管道,共享内存,内存映射,消..
时间:2010-09-02 来源:kgisme170
1. 最简单的情况:程序输出hello!
> cat r.C
#include<unistd.h>
int fd=open(FIFO,O_WRONLY); |
注意,wait之前,必须保证两方的open都已经调用成功了。
#include<unistd.h> |
>cat s.C(这个要被编译成./s)
#include<unistd.h> |
4. 如果不用命名管道,用共享内存或者内存映射的方式,效果是一样的,因为管道本身就是一种共享内存。共享内存是系统管理的不需要经过文件,内存映射则必须创建一个中间文件。相比较而言,Windows平台上面共享内存和内存映射是一个函数CreateFileMapping的不同参数而已。
#include<stdio.h> |
20 180
30 170
5. 消息队列的用法也基本一样。
#include<stdio.h> |
20 180