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自定义类并使用的方法
May 07 Python
Python实现大文件排序的方法
Jul 10 Python
Python正则表达式非贪婪、多行匹配功能示例
Aug 08 Python
对numpy中二进制格式的数据存储与读取方法详解
Nov 01 Python
python+unittest+requests实现接口自动化的方法
Nov 29 Python
python中eval与int的区别浅析
Aug 11 Python
python装饰器使用实例详解
Dec 14 Python
python3实现从kafka获取数据,并解析为json格式,写入到mysql中
Dec 23 Python
将自己的数据集制作成TFRecord格式教程
Feb 17 Python
浅谈pandas dataframe对除数是零的处理
Jul 20 Python
图解Python中深浅copy(通俗易懂)
Sep 03 Python
Django数据库(SQlite)基本入门使用教程
Jul 07 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
phpwind中的数据库操作类
2007/01/02 PHP
40个迹象表明你还是PHP菜鸟
2008/09/29 PHP
PHP中文件上传的一个问题
2010/09/04 PHP
PHP 正则判断中文UTF-8或GBK的思路及具体实现
2013/11/26 PHP
PHP加密解密实例分析
2015/12/25 PHP
[原创]php正则删除html代码中class样式属性的方法
2017/05/24 PHP
js cookies实现简单统计访问次数
2009/11/24 Javascript
javascript oop开发滑动(slide)菜单控件
2010/08/25 Javascript
Javascript设计模式之观察者模式的多个实现版本实例
2015/03/03 Javascript
Js与Jq 获取页面元素值的方法和差异对比
2015/04/30 Javascript
Javascript 事件冒泡机制详细介绍
2016/10/10 Javascript
简单谈谈JS数组中的indexOf方法
2016/10/13 Javascript
js实现的在线调色板功能完整实例
2016/12/21 Javascript
jQuery基于正则表达式的表单验证功能示例
2017/01/21 Javascript
在 Angular 中使用Chart.js 和 ng2-charts的示例代码
2017/08/17 Javascript
详解es6超好用的语法糖Decorator
2018/08/01 Javascript
vue实现密码显示与隐藏按钮的自定义组件功能
2019/04/23 Javascript
JS实现简易计算器
2020/02/14 Javascript
[50:29]2014 DOTA2华西杯精英邀请赛 5 24 DK VS iG
2014/05/26 DOTA
Python中字典的setdefault()方法教程
2017/02/07 Python
Python编程之string相关操作实例详解
2017/07/22 Python
Python中的十大图像处理工具(小结)
2019/06/10 Python
python的几种矩阵相乘的公式详解
2019/07/10 Python
详解python实现小波变换的一个简单例子
2019/07/18 Python
python数据分析工具之 matplotlib详解
2020/04/09 Python
实现CSS3中的border-radius(边框圆角)示例代码
2013/07/19 HTML / CSS
迪梵英国官方网站:Darphin英国
2017/12/06 全球购物
NYX Professional Makeup英国官网:美国平价专业彩妆品牌
2019/11/13 全球购物
专科毕业生求职简历的自我评价
2013/10/12 职场文书
创建服务型党组织实施方案
2014/02/25 职场文书
文秘自荐信
2014/06/28 职场文书
2016春季运动会前导词
2015/11/25 职场文书
告诉你创业计划书的8个实用技巧
2019/07/12 职场文书
详解Java实践之抽象工厂模式
2021/06/18 Java/Android
Redis集群的关闭与重启操作
2021/07/07 Redis
Nginx报404错误的详细解决方法
2022/07/23 Servers