1.先進先出
2.後進先出
3.優先順序佇列
4.雙向佇列
importqueue
q = queue.queue(2) #
佇列最大長度
q.put(11)
q.put(22)
print(q.qsize()) #
獲取佇列的個數
(q.get())
(q.get())
#先進先出佇列
#put放資料,block是否阻塞,timeout = 阻塞時的超時時間
#get 取資料,預設阻塞。block是否阻塞,timeout阻塞時的超時時間
#佇列最大長度
#qsize()真實個數
#maxsize 支援最大個數
#q.get()執行完成後,執行q.task_done()告訴佇列取值完成
#join,task_done ,阻塞程序,當佇列中任務執行完畢之後,不再阻塞
#q = queue.queue(2) #可以加引數,表示佇列最大個數
#q.put(33,timeout=2) #阻塞2秒,如果2s後還是無法插入佇列,然後直接報錯
#q.put(33,block=false) #block=false 表示不阻塞,如果不能插入佇列,然後直接報錯
out:211
22
importqueue
q =queue.lifoqueue()
q.put(123)
q.put(456)
print(q.get())
out:
456123
數字越小,優先順序越高
importqueue
q =queue.priorityqueue()
q.put((0,
"test1"))
q.put((3,"
test3"))
q.put((4,"
test4"))
(q.get())
(q.get())
print(q.get())
out:
(0, 'test1')
(3, 'test3')
(4, 'test4')
數字越小,優先順序越高
importqueue
q =queue.deque()
(q.pop())
(q.pop())
print(q.popleft())
out:
444123
555
Python訊息佇列
訊息中介軟體 就是訊息佇列 非同步方式 不需要立馬得到結果,需要排隊 同步方式 需要實時獲得資料,堅決不能排隊 例子 多程序模組multiprocessing from multiprocessing import process from multiprocessing import queue ...
python 操作訊息佇列
其中p指producer,即生產者 c指consumer,即消費者。中間的紅色表示訊息佇列,例項中表現為hello佇列。往佇列裡插入資料前,檢視訊息佇列 sudo rabbitmqctl list queues listing queues celeryev.db53a5e0 1e6a 4f06 a...
python 操作訊息佇列
閱讀目錄 回到頂部 其中p指producer,即生產者 c指consumer,即消費者。中間的紅色表示訊息佇列,例項中表現為hello佇列。往佇列裡插入資料前,檢視訊息佇列 sudo rabbitmqctl list queues listing queues celeryev.db53a5e0 1...