python 归纳 _并发队列Queue的使用

Posted sunzebo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 归纳 _并发队列Queue的使用相关的知识,希望对你有一定的参考价值。

# -*- coding: UTF-8 -*-
"""
学习队列 Queue

总结:
   1. 队列可以设置大小,也可以无限大小
   2. 空了,满了,读写时可以阻塞,也可以报错
   3. 队列中可以存储不同的数据类型对象
   4. 队列的实现大量用到 线程模块 threading ,说明适用多线程之间的数据共享操作
      不确定是否适合多进程之间的数据共享操作
   5. 队列的实现用到锁操作,acquire,release,wait,notify 不需要在个人代码中使用

使用:
   1. 创建队列对象 myqueue = Queue.Queue(maxsize=2)
   2. 往队列写数据 myqueue.put(data)
   3. 从队列读数据 myqueue.get()
"""
import Queue

# size<=0,表示队列无限长度
myqueue = Queue.Queue(maxsize=2)

myqueue.put(5)
myqueue.put("ab")  # 支持不同的类型
print "flag1"
# myqueue.put("cd")      # 队列满了,会阻塞
# myqueue.put("cd",False)  # 队列满了,会报错

print "flag2"
print myqueue.qsize()  # 队列大小
print myqueue.get()
print myqueue.get()
print myqueue.qsize()  # 队列大小

print myqueue.get()       # 队列空了,会阻塞
print myqueue.get(True)   # 队列空了,会阻塞
print myqueue.get(False)  # 队列空了,抛出异常

print "flag3"

"""
Out:

flag1
flag2
2
5
ab
0
阻塞....
"""

 

以上是关于python 归纳 _并发队列Queue的使用的主要内容,如果未能解决你的问题,请参考以下文章

python 归纳 (十三)_队列Queue在多线程中使用

Python 用队列实现多线程并发

Python 3 并发编程多进程之队列(推荐使用)

python并发编程:多进程-队列

Python并发编程(线程队列,协程,Greenlet,Gevent)

python实现队列(queue)