網絡編程之多線程——線程queue

網絡編程之多線程——線程queue

線程queue

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')
'''
相關文章
相關標籤/搜索