1.pipe

除了使用队列外,还可以使用管道在进程间执行消息传递

pipe([]duplex)

在进程间创建一条管道,并返回元组(conn1,conn2),其中conn1和conn2是表示管道两端的Connection对象。默认控制下管道是双向的。如果将duplex设为False,conn1只能接受,conn2只能用于发送。

2.code

import multiprocessing  

def consumer(pipe):
output_p,input_p=pipe
input_p.close()
while True:
try:
item=output_p.recv()
except EOFError:
break
print(item)
print('Consumer done') def producer(sequence,input_p):
for item in sequence:
#将项放入队列
input_p.send(item) if __name__=='__main__':
(output_p,input_p)=multiprocessing.Pipe()
'''''running consumer processing'''
consumer_p=multiprocessing.Process(target=consumer,args=((output_p,input_p),))
consumer_p.start() #关闭生产者中管道
output_p.close()
'''''producing many Queues,run producer'''
sequence=[1,2,3,4,5]
producer(sequence,input_p)
input_p.close()
'''''waiting processing'''
consumer_p.join()

应该特别注意管道端点的管理问题。如果生产者与消费者都没有使用管道某个端点就应该将其关闭,这就是为什么我们把生产者的输出管道关闭,并且把消费者的输入端关闭的原因。

最新文章

  1. Solr使用入门指南
  2. <<< request.getParameterMap()方法
  3. 自定义底部tab
  4. StackOverflow Update: 560M Pageviews A Month, 25 Servers, And It's All About Performance
  5. jQuery实现登录提示
  6. Brush Mode --- Nyoj 737 分类: Brush Mode 2014-03-25 08:10 202人阅读 评论(0) 收藏
  7. lintcode :最长公共子串
  8. Oracle日志文件管理与查看
  9. 159. Longest Substring with At Most Two Distinct Characters
  10. Android UI设计系统-android selector 开始自定义样式
  11. Gentoo安装详解(三)-- 配置系统
  12. Android Handler消息机制不完全解析
  13. [LaTex]插图
  14. Pycharm使用教程(四)-安装python依赖包(非常详细,非常实用)
  15. centos7 mysql数据库的安装与使用
  16. Kotlin 随笔小计
  17. zookeeper三种模式安装详解(centos 7+zookeeper-3.4.9)
  18. CSS的再一次深入(更新中···)
  19. C语言--第三周作业评分和总结(5班)
  20. HTML学习-2标记标签-2

热门文章

  1. java1.7集合源码阅读:ArrayList
  2. [BZOJ2038] [2009国家集训队]小Z的袜子(hose) 莫队算法练习
  3. (32)C#文件读写
  4. 搭建负载均衡的环境(利用虚拟机上的四台centos)
  5. ELK故障:elk在运行一段时间后,没有数据。
  6. 洛谷 P4551 最长异或路径
  7. Java重定向IO
  8. java多线程设计模式(3)读写锁模式
  9. Ubuntu 16.04安装Chrome浏览器时提示:N: 忽略‘google-chrome.list.1’(于目录‘/etc/apt/sources.list.d/’),鉴于它的文件扩展名无效
  10. java程序监控tomcat中部署的项目的状态以及控制某些项目的启动停止