python3中自带了queue所以不需要安装,queue模块实现多生产者,多用户队列。当在多线程之间必须安全地交换信息时,它在线程编程中特别有用。该Queue模块中的类实现了所有必需的锁定语义。这取决于Python中的线程支持的可用性; 该模块实现三种类型的队列,它们的区别仅在于检索条目的顺序。在FIFO(先来先服务)队列中,第一个添加的任务是第一个被检索的。在LIFO队列中,最近添加的条目是第一个被检索(像堆栈一样操作)。使用优先级队列,条目保持排序(使用heapq模块),并且首先检索最低值的条目。
1.创建队列:
import queue
q = queue.Queue(maxsize)
其中 maxsize是一个整数,用于设置可放入队列的项目数的上限。一旦达到此大小,插入将会阻塞,直到队列项被消耗。如果 maxsize小于或等于零,队列大小是无限的。
2.empty:
q.empty()
如果队列为空则返回True,否则返回False。
3.put:
放一个元素进队列
q.put('a')
4.get:
q.get()
从队列中取出一个元素 (FIFO原则),获取元素时从最先放入的开始获取
5.full:
如果队列满了,返回True
q = queue.Queue(1) #指定队列大小
q.put('a')
print(q.full())
queue文档:https://docs.python.org/3.5/library/queue.html