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') '''