目录
第十五章、线程之queue模块的各种队列
一、Queue
import queueq = queue.Queue()#先进先出队列的同步实现,通过双向列表实现的q.put('123')q.put('qweqwe')print(q.get())print(q.get())# print(q.get())#会报错,提示队列为空q.task_done()q.task_done()q.join()#通知队列任务的完成情况,当队列取空就唤醒被join阻塞的线程---------------------------------------------------------123qweqwe
二、LifoQueue堆栈
import queueq = queue.LifoQueue() #后进先出队列的同步实现,通过list来实现的q.put('粉红色的背心儿')q.put('粉红色的裤子')q.put('欧文的各种设备')print(q.get())print(q.get())print(q.get())---------------------------欧文的各种设备粉红色的裤子粉红色的背心儿
三、PriorityQueue优先级队列
import queueq = queue.PriorityQueue() # 优先队列的同步实现,通过堆实现# 通常这个元组的第一个值是int类型q.put((50,'许成'))q.put((80,'赵军'))q.put((1,'宇力'))print(q.get())print(q.get())print(q.get())---------------------------------------(1, '宇力')(50, '许成')(80, '赵军')