共享内存和消息队列,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
共享内存和消息队列,FIFO,管道传递消息的区别:
后者,消息队列,FIFO,管道的消息传递方式一般为
1:服务器得到输入
2:通过管道,消息队列写入数据,通常需要从进程拷贝到内核。
3:客户从内核拷贝到进程
4:然后再从进程中拷贝到输出文件
上述过程通常要经过4次拷贝,才能完成文件的传递。
而共享内存只需要
1:从输入文件到共享内存区
2:从共享内存区输出到文件
上述过程不涉及到内核的拷贝,所以花的时间较少。
转自:http://bbs.chinaunix.net/thread-2020589-1-1.html
相关文章推荐
- MessageBox()功能
- jsonp实现原理详细介绍
- Linux下Telnet、FTP、SSH、SFTP、SCP
- linux下,改变默认的jdk版本
- Basic Calculator II - LeetCode 227
- 物理查询优化之索引
- 2012年公司组织旅游西安线个人记录(repost)
- 线性表顺序存储-使用c语言实现
- pb 自动配置ODBC连接sql Anywhere
- [Apio2007]Zoo解题报告
- ssh整合之Session延迟加载问题的解决
- 在Ubuntu14.04安装F.lux
- TStringList 常用操作
- CNN卷积神经网络代码理解
- big picture
- CF 29A Spit Problem
- xcode6.3加入iOS 7.1SdK后,iphone5s模拟器 屏幕高度只有480的问题
- 黑马程序员--Java学习日记之类的加载,反射,动态代理,枚举
- java并发编程之CyclicBarrier
- 处理流程和数据流程