Pipe管道:

* 管道实例化后会产生两个通道,分别交给两个进程
* 通过send和recv来交互数据,这是一个双向的管道,child和parent可以互相收发

from multiprocessing import Process, Pipe

def f(conn):
conn.send([, None, 'hello'])
conn.send([,])
print(conn.recv())
conn.close() if __name__ == '__main__':
#Pipe实例化返回一个元祖对象,分别给到主进程端口,子进程端口
parent_conn, child_conn = Pipe()
#其中1个端口对象作为参数传入至进程
p = Process(target=f, args=(child_conn,))
p.start()
#数据传递,也是以队列的形式进行传递,先发送先接受。
print(parent_conn.recv()) # prints "[42, None, 'hello']"
print(parent_conn.recv())
# parent_conn.send('主进程发送给子进程的数据')
p.join()

python线程,pipe管道通信原理的更多相关文章

  1. c语言亲缘线程通过管道通信一些疑问

    亲缘线程在使用管道时,发现第一次使用管道进行进行通信完全正常(./a.out 1),但当重新运行并使用新管道文件时候出现数据无法读取的问题(./a.out 2)(./a.out 3),甚至出现子线程部 ...

  2. fork产生子进程利用pipe管道通信

    http://siqun.blog.163.com/blog/static/213496001201341231121720/ 转载链接:http://hi.baidu.com/hj11yc/item ...

  3. 管道通信Pipe

    通信原理: 在内存中开辟管道空间,生成管道操作对象,多个进程使用“同一个”管道对象进程操作即可实现通信 函数方法: fd1,fd2 = Pipe(duplex = True) 功能: 创建管道 参数: ...

  4. python学习笔记——multiprocessing 多进程组件 Pipe管道

    进程间通信(IPC InterProcess Communication)是值在不同进程间传播或交换信息. IPC通过有管道(无名管道 和 有名 / 命名管道).消息队列.共享存储 / 内容.信号量. ...

  5. python 实现线程之间的通信

    前言:因为GIL的限制,python的线程是无法真正意义上并行的.相对于异步编程,其性能可以说不是一个等量级的.为什么我们还要学习多线程编程呢,虽然说异步编程好处多,但编程也较为复杂,逻辑不容易理解, ...

  6. pipe()管道通信

    管道 管道的概念: 管道是一种最基本的IPC机制,作用于有血缘关系的进程之间,完成数据传递.调用pipe系统函数即可创建一个管道.有如下特质: 1. 其本质是一个伪文件(实为内核缓冲区) 2. 由两个 ...

  7. java 多线程:线程通信-等待通知机制wait和notify方法;(同步代码块synchronized和while循环相互嵌套的差异);管道通信:PipedInputStream;PipedOutputStream;PipedWriter; PipedReader

    1.等待通知机制: 等待通知机制的原理和厨师与服务员的关系很相似: 1,厨师做完一道菜的时间不确定,所以厨师将菜品放到"菜品传递台"上的时间不确定 2,服务员什么时候可以取到菜,必 ...

  8. 驱动通信:通过PIPE管道与内核层通信

    在本人前一篇博文<驱动开发:通过ReadFile与内核层通信>详细介绍了如何使用应用层ReadFile系列函数实现内核通信,本篇将继续延申这个知识点,介绍利用PIPE命名管道实现应用层与内 ...

  9. Python Socket通信原理

    [Python之旅]第五篇(一):Python Socket通信原理   python Socket 通信理论 socket例子 摘要:  只要和网络服务涉及的,就离不开Socket以及Socket编 ...

随机推荐

  1. Lodop强制分页LODOP.NewPage()和LODOP.NewPageA()

    使用Lodop打印控件打印时,有自动分页,有手动强制分页,也可以两者结合使用,在使用两者结合的时候注意LODOP.NewPage()和LODOP.NewPageA()的区别,如果前面打印项自动分页不止 ...

  2. React 组件库框架搭建

    前言 公司业务积累了一定程度,需要搭建自己的组件库,有了组件库,整个团队开发效率会提高恨多. 做组件库需要提供开发调试环境,和组件文档的展示,调研了几个比较主流的方案,如下: docz 配置简单,功能 ...

  3. chapter4 module and port

    如果模块和外界没有交换信号,则可以没有端口列表. 端口隐含声明为wire,如果输出端口需要保存数值,则必须显式声明为reg,如需要保持数值知道下一个时钟边沿

  4. log4net 单独项目

    首先参考:http://blog.csdn.net/feiying008/article/details/45440547 有时,我们需要将日志功能作为单独模块,用来以后嫁接到其他项目. 今天就来看看 ...

  5. Food HDU - 4292 (结点容量 拆点) Dinic

    You, a part-time dining service worker in your college’s dining hall, are now confused with a new pr ...

  6. git push -f

    有的时候使用GIT工作时,会遇到一下这种问题, Pushing to git@github.com:519ebayproject/519ebayproject.git To git@github.co ...

  7. MT【68】一边柯西一边舍弃

    求$\sqrt{x-5}+\sqrt{24-3x}$的最值. 通常考试时会考你求最大值,常见的方式有三角代换,这里给如下做法: 证明:$\sqrt{x-5}+\sqrt{24-3x}=\sqrt{x- ...

  8. Linux 下统计Apache每分钟的并发数

    脚本非常简单,不清楚原理,逐行运行即可. 使用时将脚本复制到home目录,并添加执行权限.定时任务即可. 代码内容如下: #!/bin/sh date >> /home/date-time ...

  9. Android自动化测试探索

    Android自动化测试探索 前言 通常来说,我们开发完成产品之后,都是由测试组或者是我们自己点一点,基本上没有问题了就开始上线.但是,随着时间的堆叠,一款产品的功能也越来越多.这时,我们为了保证产品 ...

  10. Android学习系列(17)--App列表之圆角ListView(续)

    http://www.cnblogs.com/qianxudetianxia/archive/2011/09/19/2068760.html   本来这篇文章想并到上篇Android学习系列(16)- ...