免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1710 | 回复: 4
打印 上一主题 下一主题

关于命令管道进程通信问个问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-09-28 07:20 |只看该作者 |倒序浏览
我现在基本了解了"命令管道"这种进程之间通讯的方式,仅仅知道如何使用.(reader 与 writer 分别打开文件,进行读和写)

    问题:
    ----------
    [1]:听说'命名管道' 使用了 '共享内存' 的原理,那就是说这两种方式一样了? '命名管道' 这种进程通信方式有什么自己的特点没?
    [2]:这个问题不只是针对'命名管道',包括其他进程通信机制
                  对于任何一种进程通信机制,具备reader 与 writer 交流的能力. 但是何时交流还是个问题. 所以,肯定有很多方法
            可以控制这个时间问题。简单说,就是 writer 数据准备完毕,应该如何通知 reader? reader 读取完毕,如何再通知
            writer?
不过,根据目前对 FIFO 的理解,'命名管道’ 应该不用考虑这个问题,毕竟 '先进先出',看起来没有冲突的问题
            大家可否谈谈对这方面的理解或者给点提示.

论坛徽章:
0
2 [报告]
发表于 2010-09-28 08:40 |只看该作者
1管道是顺序线性写入和读取的,共享内存是可以随机写入读取的。
2可以用异步IO的方式

论坛徽章:
0
3 [报告]
发表于 2010-09-28 10:23 |只看该作者
lz 提到的问题应该是指同步。

这个同步由内核实现。对文件的打开有 阻塞 和 非阻塞 两种模式。
采用阻塞模式时,内核在每次线程write 的时候会通知其它read线程缓冲区有新数据到来。

论坛徽章:
0
4 [报告]
发表于 2010-09-29 08:02 |只看该作者
谢谢大家的回答,已经了解大概.

论坛徽章:
0
5 [报告]
发表于 2010-09-29 09:00 |只看该作者
非阻塞管道,使用select异步通知
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP