设为首页 收藏本站
查看: 722|回复: 0

[经验分享] Python学习笔记(五):Interprocess Communication

[复制链接]

尚未签到

发表于 2015-4-25 11:52:57 | 显示全部楼层 |阅读模式
  Python为进程间的通信(Interprocess Communication,IPC)提供了4种机制:匿名管道(Anonymous pipes),命名管道(Named pipes),套接字(Sockets)以及信号量(Signals)。
  管道(Pipes)是一种跨程序的通信设备,由操作系统实现。管道是一个单向通道,类似于共享内存,在管道的两端提供搜集简单文件的接口。通常,一个程序向管道的一端写数据,另一个程序在管道的另一端读取数据。一个程序只能看到属于它自己的管道的那一端,并象处理普通的Python文件一样处理这些数据。
  匿名管道(Anonymous pipes)通常与进程fork方法一块工作,将父进程和子进程通过共享的管道文件描述符联系起来。匿名管道也适用于线程。os模块pipe方法生成匿名管道。
  命名管道(Named pipes)对应于操作系统的文件系统,由电脑中的一个文件表示。命名管道又称为fifos。通过命名管道进行通信的进程可以是相互独立的。os.mkfifo创建一个命名管道,实际上就是创建一个外部文件,因此需要指定一个文件路径。
  套接字(Sockets)是一种比管道更加通用的IPC机制。套接字允许位于同一台电脑上的不同程序相互传输数据,同时它还允许位于网络中不同电脑上的程序间进行通信。当套接字作为同一台机器上的IPC机制,程序通过机器全局的端口与套接字进行连接。当套接字用于网络连接,程序需提供机器名和端口号。Python中的socket模块提供了与套接字相关的方法,如bind,listen,accept,recv,send等。
  信号量(Signals)允许程序向其他程序发送简单的通知事件,并触发相应的行为。Python提供signal模块来将Python函数注册为特定信号的处理者。
  Python中提供了multiprocessing模块实现子进程生成及多进程间通信。该模块提供了进程类Process,锁类Lock,同时还提供了IPC工具Pipe(匿名的管道),共享内存(Value和Array),以及队列Queue。
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-60560-1-1.html 上篇帖子: 深入Python(4):深拷贝和浅拷贝 下篇帖子: python获取指定微博用户的关注列表
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表