作者: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的代码示例,可以参考菜鸟教程