同一個進程下的多個線程原本就是數據共享 爲何還要用隊列python
由於隊列是管道+鎖 使用隊列你就不須要本身手動操做鎖的問題線程
由於鎖操做的很差極容易產生死鎖現象code
先進先出隊列
queue隊列 :使用import queue,用法與進程Queue同樣進程
q = queue.Queue() q.put('hahha') print(q.get())
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 '''
import 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') '''