import queue
queue.Queue() 先进先出
queue.LifoQueue() 后进先出
queue.PriorityQueue() 优先级队列
优先级队列 q = queue.PriorityQueue()
q.put() 接受的是一个元祖
元祖中第一个参数是:表示当前数据的优先级
元祖中第二个参数是:需要存放到队列中的数据
优先级的比较(首先保证整个队列中,所有表示优先级的东西类型必须一致)
如果都是int 类型,比数值大小
如果都是str类型,比较字符串的大小(从第一个字符的ASCII码开始比较)
from multiprocessing import Queue# 是用于多进程的队列,就是专门用来做进程间通信(IPC)。 import queue# 是用于同一进程内的队列,不能做多进程之间的通信 # q = queue.Queue()# 先进先出 # q.put(1) # q.put(2) # q.put(3) # print(q.get()) # print(q.get()) # q = queue.LifoQueue() # # 后进先出的队列 # q.put(1) # q.put(2) # q.put(3) # print(q.get()) q = queue.PriorityQueue() # 优先级队列,put()方法接收的是一个元组(),第一个位置是优先级,第二个位置是数据 # 优先级如果是数字,直接比较数值 # 如果是字符串,是按照 ASCII 码比较的。当ASCII码相同时,会按照先进先出的原则 # q.put((1,'abc')) # q.put((5,'qwe')) # q.put((-5,'zxc')) # print(q.get()) # print(q.get()) # print(chr(48))