您的位置:首页 > 其它

共享内存和消息队列,FIFO,管道传递消息的区别

2015-06-27 11:25 225 查看
共享内存区是最快的可用IPC形式,一旦这样的内存区映射到共享它的进程的地址空间,这些进程间数据的传递就不再通过执行任何进入内核的系统调用来传递彼此的数据,节省了时间。

共享内存和消息队列,FIFO,管道传递消息的区别:

后者,消息队列,FIFO,管道的消息传递方式一般为

1:服务器得到输入

2:通过管道,消息队列写入数据,通常需要从进程拷贝到内核。

3:客户从内核拷贝到进程

4:然后再从进程中拷贝到输出文件

上述过程通常要经过4次拷贝,才能完成文件的传递。

而共享内存只需要

1:从输入文件到共享内存区

2:从共享内存区输出到文件

上述过程不涉及到内核的拷贝,所以花的时间较少。

转自:http://bbs.chinaunix.net/thread-2020589-1-1.html

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: