Python自带的队列模块有4种队列:
FIFO:first in first out 先进先出
LIFO:last in first out 后进先出,类似于栈的数据结构
proiority:优先队列
deque: 双端队列
这一部分,先介绍FIFO模式的队列,后三种队列会在后续的文章种介绍
设置队列长度、进队列与出队列
from queue import Queue
#如果maxsize设置为小于0或者不设置,队列为无限长
que = Queue(maxsize=2)
#进队列
que.put(1)
#出队列
result = que.get()
#result结果:1
入队列时堵塞
from queue import Queue
#设置队列长度为1
que = Queue(maxsize=1)
#此时如果入队列两次, put将会一直堵塞,等待前一个出队列
que.put(1)
que.put(2)
入队列非堵塞
from queue import Queue
que = Queue(maxsize=1)
#设置block为False为非堵塞,默认block为True堵塞
try:
que.put(1)
#如果队列为满,非堵塞将会报异常
que.put(2,block=False)
except Excepti