免费注册 查看新帖 |

Chinaunix

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

python 进程间通信(原创) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-02-13 14:50 |只看该作者 |倒序浏览

                                                作者: pascal4123
出处: pascal4123.cublog.cn
(转载敬请注明作者或出处)
当脚本产生大量线程时,很自然地,线程间会产生通信(改变和访问共享全局内存)的需求。有些情况需要小心对待,使用锁来同步对共享对象的访问。但这是一种比较老实的通信模式。
当脚本启动进程或程序时,事情并没有这么简单。如果我们限制程序间通信的类型,有许多手段。比如:
1. 命令行参数
2. 标准流重定向
3. os.popen调用产生的管道
4. 程序退出状态码
5. shell 环境变量
6. 甚至简单的文件
除了这些之外,还有其他的IPC工具。比如socket模块,可以让我们在同1台机器上的两个程序传递数据,就像2个远程程序一样。
又再比如mmap模块。
这里我们重点介绍 pipes 和 signal。
管道(pipes)
管道, 是另一种跨程序的通信设施。 它用os.pipe调用产生。 管道是单向双端接口的隧道,1端读1端写。一个形象化管道的描述为——一个在两个实体之间的单向连接器。
管道也是一种同步2个互不依赖的程序的方式。
管道简单易用,但缺乏socket的广泛性。
管道分匿名管道,有名管道。
匿名管道基本原理
匿名管道可看作父进程、子进程间通信的典型应用。
从1个独立的进程分支时需要用到匿名管道。
有名管道基本原理
有名管道(FIFO)只能用于两个共享文件系统的2个进程间的通信。使用有名管道的好处是能在两个独立的进程间进行通信。
               
               
               
               
               
               
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/16651/showart_477764.html

论坛徽章:
0
2 [报告]
发表于 2010-06-04 16:35 |只看该作者
好像没什么实际内容。。。

论坛徽章:
0
3 [报告]
发表于 2010-06-07 15:41 |只看该作者
……2008 年的帖子都被顶上来了……

论坛徽章:
0
4 [报告]
发表于 2010-12-27 09:36 |只看该作者
内容呢? 怎么只给了个目录呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP