立即學習:https://edu.csdn.net/course/play/24458/296449?utm_source=blogtoedu
線程queue
?
一·:Queue先進先出
?
1.queue.Queue(n):創建一個最大容量為n的隊列
?
2.queue.Queue(n).put():添加元素
?
3.queue.Queue(n).get():取元素
?
4.put()和get(),默認阻塞狀態為True(block=True),即當隊列滿了繼續放置數據或者當隊列空了繼續取數據時就會處于阻塞狀態,我們可以將其為False,則當空或者滿時直接報錯
put(7,block = False)相當于put_nowait(7)
?
5.put(k,block=True,timeout=3):當隊列滿了,繼續放數據,會處于阻塞狀態,阻塞時間為3秒,3秒后若隊列依舊為空則拋出異常
?
二:queue.LifoQueue():堆棧,先進后出,其他屬性方法與隊列一樣
?
三:q = queue.PriorityQueue(3)優先級隊列
1)q.put((優先級,數據))
2)優先級為數字,數字越小,優先級越高
3)數據即要放進隊列中的數據
4)put的參數是一個元組,第一個元素是優先級,第二個元素是數據