python多进程队列的2种实现方法
来源:互联网 发布:阿里云服务器备案 编辑:程序博客网 时间:2024/06/05 03:39
代码:
# -*- coding: UTF-8 -*-from multiprocessing import Process, JoinableQueueimport osclass WebPage(Process): def __init__(self, queue): super(WebPage, self).__init__() self.queue = queue def run(self): print 'process begin' while not self.queue.empty(): data = self.queue.get() print data self.queue.task_done() print 'process over:%s' % os.getpid()class WebPage2(Process): def __init__(self, queue): super(WebPage2, self).__init__() self.queue = queue def run(self): print 'process begin' for data in iter(self.queue.get, None): print data print 'process over:%s' % os.getpid()def run(): queue = JoinableQueue() for news_id in range(10): queue.put('put:%s'%news_id) worker_list = list() for i in range(2): worker = WebPage(queue) worker_list.append(worker) worker.start() queue.join()def run2(): queue = JoinableQueue() worker_list = list() for i in range(5): worker = WebPage(queue) worker_list.append(worker) worker.start() queue.join() for news_id in range(10): queue.put('put:%s' % news_id) for i in range(5): queue.put(None) for w in worker_list: w.join()if __name__=="__main__": run2()
run2可以更简单的控制队列的长度,run1实现起来比较麻烦。
0 0
- python多进程队列的2种实现方法
- python多进程不同实现方法的异同点
- 多进程 队列 实现生产者消费者模型 python 笔记
- 多进程的Python实现
- 消息队列实现从一个进程向另一个进程发送一个数据块的方法
- python实现后台进程的方法(源码)
- 队列的两种实现方法
- Python数据结构队列的实现
- python实现多进程
- Python -- 多进程实现
- Python多线程/多进程操作队列
- Python 多进程间文件锁的跨平台实现方法
- 循环队列的实现方法
- php实现简单多进程的方法
- python中的daemon守护进程实现方法
- Python创建进程1-Process方法实现
- VC++中进程与多进程管理的实现方法
- 进程与多进程管理的实现方法
- Roman to Integer
- Oil Deposits(DFS)
- 程序员的基础生存技能 -- 关于搜索引擎的小贴士
- Linux 上的基础网络设备详解
- linux arm移植触摸屏tslib
- python多进程队列的2种实现方法
- ArrayAdapter
- Building an MFC project for a non-Unicode character set is deprecated
- 中序后序确定二叉树的前序序列
- hdu2437
- 记第一个15年
- hadoop命令,学到哪记到哪。
- Java诞生二十周年:回顾编程世界主宰的成长历程
- 自定义ArrayAdapter深入