先進先出模式
import queue #執行緒佇列
q = queue.queue() #
先進先出,先存進的資料,就先被取出來。如果()內有數字,如5,意思是q內可以放的資料數量
q.put(12)
q.put(
'hello')
q.put()
q.put(34,false) #
意思是,如果佇列已經滿了。put不進去,會返回
print(q.qsize()) #
佇列裡面具體的值
print(q.empty()) #
是否為空
print(q.full()) #
是否為滿的狀態
while 1:
data = q.get(block = false) #
當佇列被取完後,如果還繼續取的話,會返回
(data)
print('
---------
')
先進後出模式
importqueue
q =queue.lifoqueue()
q.put(12)
q.put(
'hello')
q.put()
while 1:
data = q.get(block=false) #
當佇列被取完後,如果還繼續取的話,會返回
(data)
print('
---------
')
優先順序模式
importqueue
q =queue.priorityqueue()
q.put([3,12]) #
列表裡面第乙個數字越小,優先順序越高
q.put([2,'
hello'])
q.put([4,])
while 1:
data = q.get() #
當佇列被取完後,如果還繼續取的話,會返回
(data)
print('
---------
')
多執行緒利器queue
import queue q queue.queue maxsize 10 queue.queue類即是乙個佇列的同步實現。佇列長度可為無限或者有限。可通過queue的建構函式的可選引數maxsize來設定佇列長度。如果maxsize小於1就表示佇列長度無限。q.put 10 呼叫佇列物件的put ...
多執行緒, 執行緒佇列
self performselectoronmainthread selector refreshcellforliveid withobject userinfo waituntildone yes 該方法的作用是在主線程中,執行制定的方法 塊 引數 selector refreshcellfor...
多執行緒 佇列
對於編寫多執行緒的朋友來說,佇列具有天生的互斥性。在佇列裡面,乙個負責新增資料,乙個負責處理資料。誰也不妨礙誰,誰也離不開誰。所以,佇列具有天生的並行性。只針對 乙個執行緒讀,乙個執行緒寫。當不滿足這個先決條件,多執行緒也完蛋,也得進佇列加鎖,出佇列加鎖 view plain print?defin...