queue is especially useful in threaded programming when information must be exchanged safely between multiple threads.python
有三种不一样的用法。编程
一、class queue.Queue(maxsize=0) # 队列:先进先出网络
import queue q=queue.Queue() q.put('first') q.put('second') q.put('third') print(q.get()) print(q.get()) print(q.get()) ''' 结果(先进先出): first second third '''
二、class queue.LifoQueue(maxsize=0) # 堆栈:last in first out多线程
import queue q=queue.LifoQueue() q.put('first') q.put('second') q.put('third') print(q.get()) print(q.get()) print(q.get()) ''' 结果(后进先出): third second first '''
三、class queue.PriorityQueue(maxsize=0) # 优先级队列:存储数据时可这设置优先级队列线程
port queue q=queue.PriorityQueue() #put进入一个元组,元组的第一个元素是优先级(一般是数字,也能够是非数字之间的比较),数字越小优先级越高 q.put((20,'a')) q.put((10,'b')) q.put((30,'c')) print(q.get()) print(q.get()) print(q.get()) ''' 结果(数字越小优先级越高,优先级高的优先出队): (10, 'b') (20, 'a') (30, 'c') '''