python Queue模块
提供了同步的、线程安全的队列类
包括
FIFO(先入先出)队列Queue,
LIFO(后入先出)队列LifoQueue,
和
优先级队列PriorityQueue。
这些队列都实现了锁原语,能够在多线程中直接使用。
可以使用队列来实现线程间的同步。
常用方法:
Queue.qsize() 返回队列的大小
Queue.empty() 如果队列为空,返回True,反之False
Queue.full()
如果队列满了,返回True,反之False,Queue.full 与 maxsize 大小对应
Queue.get([block[, timeout]])
获取队列,timeout等待时间
Queue.get_nowait()
相当于Queue.get(False),非阻塞方法
Queue.put(item)
写入队列,timeout等待时间
Queue.task_done()
在完成一项工作之后,Queue.task_done()函数向任务已经完成的队列发送一个信号。每个get()调用得到一个任务,接下来task_done()调用告诉队列该任务已经处理完毕。
Queue.join()
实际上意味着等到队列为空,再执行别的操作