2007-04-11

Linux系统中实现内部进程通信的方法

来源: 赛迪网 作者:weigongwan 评论 0 条
 const char filename[] = "testfile"; intfd; char *mapped_mem; const intflength = 1024; fd = open(filename, O_RDWR | O_CREAT, S_IRUSR | S_IWUSR); lseek(fd, flength 1, SEEK_SET); write(fd, "\0", 1); lseek(fd, 0, SEEK_SET); mapped_mem = mmap(0, flength, PROT_WRITE, //答应写入 MAP_SHARED,//写入内容被立即写入到文件 fd, 0); close(fd); //使用映射区域. ... munmap(file_memory, flength);

利用内存映射来处理IPC的好处是在整个过程中你不需要处理句柄:只要打开文件并把它映射在合适的位置就行了。你可以在两个不相关的进程间使用内存映射文件。

使用内存映射的缺点是速度不如共享内存快。假如凑巧文件很大,所需要的虚拟内存就会很大,这样会造成整体性能下降。


共2页: 上一页 [1] 2 下一页
(本文仅表明作者个人观点,不代表本站及其管理员立场.) 推荐 收藏 投稿 打印 返回 关闭
上一篇:Regsvr32命令的应用  
下一篇:UNIX与Windows 2000上Oracle差异(I)
    评论加载中…
 推荐文章
     

网站首页  -  网站地图 -   站长论坛  -  网站投稿  -    -  网站管理
Copyright © 2008 芜湖站长站 All Rights Reserved 皖ICP备07500611号