Python模块—标准库Queue模块

Queue

Queue是python标准库中的线程安全的队列(FIFO)实现,提供了一个适用于多线程编程的先进先出的数据结构,即队列,用来在生产者和消费者线程之间的信息传递

基本FIFO队列

class Queue.Queue(maxsize=0)

FIFO即First in First Out,先进先出。Queue提供了一个基本的FIFO容器,使用方法很简单,maxsize是个整数,指明了队列中能存放的数据个数的上限。
一旦达到上限,插入会导致阻塞,直到队列中的数据被消费掉。如果maxsize小于或者等于0,队列大小没有限制。

import Queue
q = Queue.Queue()

for i in range(5):
	q.put(i)

while not q.empty():
	print q.get()

LIFO队列

class Queue.LifoQueue(maxsize=0)

LIFO即Last in First Out,后进先出。与栈的类似,使用也很简单,maxsize用法同上

import Queue
q = Queue.LifoQueue()

for i in range(5):
	q.put(i)

while not q.empty():
	print q.get()

优先级队列

class Queue.PriorityQueue(maxsize=0)

构造一个优先队列

一些常用方法

task_done()

意味着之前入队的一个任务已经完成。由队列的消费者线程调用。每一个get

猜你喜欢

转载自blog.csdn.net/knight_zhou/article/details/103715940