「Python」queue库简易教程

参考链接:queue — A synchronized queue class

Queue:同步队列类

queue模组实现了多生产者(入队)和多消费者(出队)的功能,这对于多线程程序中的交流通讯非常有用,且该模块实现了所有需要的语义锁定。
queue模组使用三种类型的队列:FIFO( first in first out/retrieved ), LIFO ( last in first out/retrieved ), priority queue ( with a priority, and the lowest is first retrieved )。这三种队列使用线程锁来临时阻塞竞争线程,不适用于单线程重入
此外,该模组还使用一个“简单的”FIFO队列模板,SimpleQueue,详见SimpleQueue

Queue使用

三种类型的队列创建

import queue 
queue_fifo = queue.Queue(maxsize=10)                  # 创建一个最大长度为10的FIFO队列实例
queue_lifo = queue.LifoQueue()                                  # 创建一个无线长度的LIFO队列实例
queue_pri = queue.PriorityQueue()                           # 创建一个无线长度的Priority Queue队列实例

当设置有限长度队列且队满后,队列将会被阻塞,直至有元素出队,才能有新元素入队;maxsize小于或等于0时,队列为无限长度;对于优先级队列,权重最低的元素先被索引。

queue对象

参数细节请参考文章顶部连接

  • qsize():返回队列长度
  • empty():返回bool值,队列空则True,非空False
  • full():返回bool值,满则True,反之False
  • put():入队
  • get():出队

你可能感兴趣的:(Python,python)