Python多线程/多进程操作队列
来源:互联网 发布:软件企业即征即退期限 编辑:程序博客网 时间:2024/05/22 04:52
最近在做深度学习,需要采用多进程的方式实现数据处理。为了实现数据的快速处理,我先后尝试了把数据一口气读入内存、多线程和多进程的方式。当然,肯定是多进程双队列的方式最好,因为可以充分利用多核和cpu。
一般来说导入队列可以这样操作:
import Queuemyqueue = Queue.Queue(100)
但是这种队列不是同步队列,在多进程中不能用于通信。
在多进程中,需要这样使用:
from multiprocessing import Process, Queuemyqueue = Queue(100)
#! /usr/bin/env pythonfrom multiprocessing import Process, Queuefrom time import sleepdef pro1(num): num.put([1,1])def pro2(num): sleep(2) print num.qsize()if __name__ == '__main__': num = Queue() process1 = Process(target = pro1, args = (num,)) process1.start() process2 = Process(target = pro2, args = (num,)) process2.start()
而使用多线程,则方法如下:
#! /usr/bin/env pythonimport threadingfrom time import sleepimport Queuedef pro1(): num.put([1,1])def pro2(): sleep(2) print num.qsize()if __name__ == '__main__': num = Queue.Queue() thread1 = threading.Thread(target = pro1) thread1.start() thread2 = threading.Thread(target = pro2) thread2.start()
结果为:1
当然,tensorflow等深度学习框架的数据输入还是应该通过多进程的方式实现。这个后续再说。
阅读全文
1 0
- Python多线程/多进程操作队列
- python 多线程多进程
- python多线程、多进程
- python 多线程/多进程
- Python 多进程 多线程
- python多进程多线程
- python 多进程,多线程
- python创建多进程/多线程
- python 多进程和多线程
- python 多线程和多进程
- python 多进程 多线程编程
- Python的多线程/多进程
- Python 多线程 多进程 GIL
- Python多进程生成多线程
- python多进程和多线程
- Python多线程与多进程
- Python 多进程和多线程
- Python多线程与多进程
- 省市地址的级联
- ArrayList、Vector、HashMap、HashSet的默认初始容量、加载因子、扩容增量
- 事件委托 详解
- 7. 可视化实例
- JZOJ 5257. 小X的佛光 (Standard IO)
- Python多线程/多进程操作队列
- iOS 导航栏标题不居中的解决办法
- 【华为机试】无线OSS-高精度整数加法
- 【思维的乐趣】算法实例
- Java程序员必须知道的几种系列辅助开发工具
- NodeJs访问MySQL老是报Pool Close问题。
- 【NYOJ
- 重新复习的JAVA基础(浅出)!留着慢慢看。。
- org.springframework.dao.EmptyResultDataAccessException: Incorrect result size: expected 1,actual 0 1