Python多线程(3)--queue队列

作者:IT小样
queue模块的常用属性:

属性 描述
queue模块的类
Queue(maxsize=0) 创建一个先入先出队列,如果给定最大值,则在队列空间满时阻塞,否则为无限队列
LifoQueue(maxsize=0) 创建一个后入先出队列
PriorityQueue(maxsize=0) 创建一个优先级队列
queue异常
Empty 当对空队列调用get*()方法时抛出异常
Full 当对已满队列调用put*()方法时抛出异常
queue对象方法
qsize() 返回队列大小
empty() 队列为空,返回True
full() 队列为满,返回True
put(item,block=True,timeout=None) 将item放入队列,如果block=True,timeout=None,则在有可用的空间之前阻塞,如果timeout为正值,则最多阻塞timeout秒,如果block=False,则抛出Empty异常
put_nowait(item) 和put(item,False)相同
get(block=True,timeout=None) 从队列中取得元素,如果给定了block(非0),则阻塞到有可取元素为止
get_nowait() 和get(False)相同
task_done() 用于表示队列中某个元素已经执行完成,该方法会被join()使用
join() 在队列中所有元素执行完成,并调用task_done()信号之前,保持阻塞

关于queue的代码示例,可以参考菜鸟教程

发布了39 篇原创文章 · 获赞 16 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_31315135/article/details/89238731