Python multiprocessing模块中的Pipe管道使用实例


Posted in Python onApril 11, 2015

multiprocessing.Pipe([duplex])
返回2个连接对象(conn1, conn2),代表管道的两端,默认是双向通信.如果duplex=False,conn1只能用来接收消息,conn2只能用来发送消息.不同于os.open之处在于os.pipe()返回2个文件描述符(r, w),表示可读的和可写的

实例如下:

#!/usr/bin/python

#coding=utf-8

import os

from multiprocessing import Process, Pipe
def send(pipe):

    pipe.send(['spam'] + [42, 'egg'])

    pipe.close()
def talk(pipe):

    pipe.send(dict(name = 'Bob', spam = 42))

    reply = pipe.recv()

    print('talker got:', reply)
if __name__ == '__main__':

    (con1, con2) = Pipe()

    sender = Process(target = send, name = 'send', args = (con1, ))

    sender.start()

    print "con2 got: %s" % con2.recv()#从send收到消息

    con2.close()
    (parentEnd, childEnd) = Pipe()

    child = Process(target = talk, name = 'talk', args = (childEnd,))

    child.start()

    print('parent got:', parentEnd.recv())

    parentEnd.send({x * 2 for x in 'spam'})

    child.join()

    print('parent exit')

输出如下:

con2 got: ['spam', 42, 'egg']

('parent got:', {'name': 'Bob', 'spam': 42})

('talker got:', set(['ss', 'aa', 'pp', 'mm']))

parent exit
Python 相关文章推荐
Python中使用wxPython开发的一个简易笔记本程序实例
Feb 08 Python
简单介绍Python中的decode()方法的使用
May 18 Python
在Python中处理时间之clock()方法的使用
May 22 Python
python安装mysql-python简明笔记(ubuntu环境)
Jun 25 Python
基于python的ini配置文件操作工具类
Apr 24 Python
Django框架组成结构、基本概念与文件功能分析
Jul 30 Python
python中pygame安装过程(超级详细)
Aug 04 Python
Python之time模块的时间戳,时间字符串格式化与转换方法(13位时间戳)
Aug 12 Python
vim自动补全插件YouCompleteMe(YCM)安装过程解析
Oct 21 Python
浅析Python 简单工厂模式和工厂方法模式的优缺点
Jul 13 Python
深入探讨opencv图像矫正算法实战
May 21 Python
python之django路由和视图案例教程
Jul 26 Python
Python httplib模块使用实例
Apr 11 #Python
初步探究Python程序的执行原理
Apr 11 #Python
Python与shell的3种交互方式介绍
Apr 11 #Python
Python函数参数类型*、**的区别
Apr 11 #Python
Python中的多重装饰器
Apr 11 #Python
Python中的各种装饰器详解
Apr 11 #Python
将Django使用的数据库从MySQL迁移到PostgreSQL的教程
Apr 11 #Python
You might like
smarty 原来也不过如此~~呵呵
2006/11/25 PHP
zend framework配置操作数据库实例分析
2012/12/06 PHP
Javascript typeof 用法
2008/12/28 Javascript
ext 代码生成器
2009/08/07 Javascript
jQuery之网页换肤实现代码
2011/04/30 Javascript
类似php的js数组的in_array函数自定义方法
2013/12/27 Javascript
用nodejs实现PHP的print_r函数代码
2014/03/14 NodeJs
iframe实用操作锦集
2014/04/22 Javascript
js 通过cookie实现刷新不变化树形菜单
2014/10/30 Javascript
Node.js与Sails ~项目结构与Mvc实现及日志机制
2015/10/14 Javascript
Bootstrap中的Dropdown下拉菜单更改为悬停(hover)触发
2016/08/31 Javascript
基于pako.js实现gzip的压缩和解压功能示例
2017/06/13 Javascript
微信小程序自定义导航隐藏和显示功能
2017/06/13 Javascript
vue-cli3脚手架的配置及使用教程
2018/08/28 Javascript
Vue瀑布流插件的使用示例
2018/09/19 Javascript
使用angular-cli webpack创建多个包的方法
2018/10/16 Javascript
vue实现的树形结构加多选框示例
2019/02/02 Javascript
微信小程序实现单个卡片左滑显示按钮并防止上下滑动干扰功能
2019/12/06 Javascript
javascript将扁平的数据转为树形结构的高效率算法
2020/02/27 Javascript
[01:18:31]DOTA2-DPC中国联赛定级赛 LBZS vs Magma BO3第一场 1月10日
2021/03/11 DOTA
python提取页面内url列表的方法
2015/05/25 Python
浅谈使用Python变量时要避免的3个错误
2017/10/30 Python
python实现csv格式文件转为asc格式文件的方法
2018/03/23 Python
Django admin model 汉化显示文字的实现方法
2019/08/12 Python
python飞机大战pygame游戏框架搭建操作详解
2019/12/17 Python
pytorch之ImageFolder使用详解
2020/01/06 Python
tensorflow生成多个tfrecord文件实例
2020/02/17 Python
python爬虫beautifulsoup解析html方法
2020/12/07 Python
Perfume’s Club美国官网:西班牙第一家在线美容店
2020/06/10 全球购物
大学同学十年聚会感言
2014/02/21 职场文书
新学期决心书
2014/03/11 职场文书
助残日活动总结
2014/08/27 职场文书
乡镇群众路线整改落实情况汇报
2014/10/28 职场文书
财务检查整改报告
2014/11/06 职场文书
求职自荐信范文(优秀篇)
2015/03/27 职场文书
服务器SVN搭建图文安装过程
2022/06/21 Servers