多个进程间通信之Queue

实现数据传递

#!coding:utf-8
from multiprocessing import Process, Queue
import os,time,random #写数据进程执行的代码
def proc_write(q,urls):
print 'Process is write....'
for url in urls:
q.put(url)
print 'put %s to queue... ' %url
time.sleep(random.random()) #读数据进程的代码
def proc_read(q):
print('Process is reading...')
while True:
url = q.get(True)
print('Get %s from queue' %url) if __name__ == '__main__':
#父进程创建Queue,并传给各个子进程
q = Queue()
proc_write1 = Process(target=proc_write,args=(q,['url_1','url_2','url_3']))
proc_write2 = Process(target=proc_write,args=(q,['url_4','url_5','url_6']))
proc_reader = Process(target=proc_read,args=(q,))
#启动子进程,写入
proc_write1.start()
proc_write2.start() proc_reader.start()
#等待proc_write1结束
proc_write1.join()
proc_write2.join()
#proc_raader进程是死循环,强制结束
proc_reader.terminate()

https://www.cnblogs.com/guguobao/p/9398653.html

内置模块queue

import queue

线程安全的队列,适用于多线程编程的先进先出的数据结构

  • 队列 FIFO Queue
  • 栈 LIFO LifoQueue
  • 优先级队列 PriorityQueue

https://www.jianshu.com/p/3e422a96b008

最新文章

  1. FreeBSD从零开始---安装后配置(一)
  2. 原生JS实现分页效果1.0
  3. 利用Microsoft.Office.Interop.Excel 将web页面转成PDF
  4. javascript保留关键字
  5. .NET学习记录3
  6. 10688 XYM-AC之路
  7. <mvc:annotation-driven />
  8. 开源app之MyHearts
  9. 【jpa】 引用包的问题
  10. jQuery移除指定元素后的所有元素
  11. JavaScript中style.left与offsetLeft的区别
  12. sql server 2008 (1)(2)
  13. Reactive ExtensionsLINQ和Rx简单介绍
  14. KICKSTART无人值守安装
  15. python学习总结笔记(一)
  16. 【PowerOJ1738】最小路径覆盖
  17. Git常用命令(一)
  18. 为什么在球坐标系中,sinTheta2=std::max(T(0), 1 - cosTheta(w) * cosTheta(w));
  19. HTML入门随笔
  20. [转]权限系统与RBAC模型概述[绝对经典]

热门文章

  1. robot framework 笔记(三),RF安装
  2. spring jar包的作用
  3. “Another git process seems to be running in this repository...”Git此问题解决
  4. 1、HDFS 架构、启动过程
  5. (4)ardunio 矩阵求解官方库改造,添加逆的求解
  6. TED演讲:真正拉开你与周围人之间差距的,是自学能力https://www.bilibili.com/video/av65904878/?spm_id_from=333.788.videocard.1
  7. A Class of Blind Source Extraction Method Using Second-Order Statistics
  8. LeetCode 1079. Letter Tile Possibilities
  9. 干货 | 10分钟带你全面掌握branch and bound(分支定界)算法-概念篇
  10. Doors Breaking and Repairing