3种队列
队列:
import queue
# 1. 先进先出
q1 = queue.Queue(5)
q1.put(11)
q1.put(22, block=False) # 插入不等待
q1.put_nowait(33) # 插入不等待
print(q1.qsize()) # 队列长度
q1.get()
q1.get(block=False) # 获取不等待
q1.get_nowait() # 获取不等待
print(q1.full())
print(q1.empty())
q1.task_done() # 发送任务执行完毕通知
q1.task_done() # 发送任务执行完毕通知
q1.task_done() # 发送任务执行完毕通知
q1.join() # 如果任务未结束,就阻塞
print('------join完毕----')
# 2. 后进先出
q2 = queue.LifoQueue()
q2.put_nowait(44)
q2.put(55)
print(q2.get())
# 3. 优先级
q3 = queue.PriorityQueue()
q3.put_nowait((2,34))
q3.put_nowait((21,35))
q3.put_nowait((11,45))
q3.put_nowait((1,12))
print(q3.get())
结果输出:
3
False
True
------join完毕----
55
(1, 12)