参考链接:queue — A synchronized queue class
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
import queue
queue_fifo = queue.Queue(maxsize=10) # 创建一个最大长度为10的FIFO队列实例
queue_lifo = queue.LifoQueue() # 创建一个无线长度的LIFO队列实例
queue_pri = queue.PriorityQueue() # 创建一个无线长度的Priority Queue队列实例
当设置有限长度队列且队满后,队列将会被阻塞,直至有元素出队,才能有新元素入队;maxsize小于或等于0时,队列为无限长度;对于优先级队列,权重最低的元素先被索引。
参数细节请参考文章顶部连接