queue模組中的get()方法有乙個可選引數timeout。預設狀態下timeout=none,即當佇列中沒有資料時,程式將處於阻塞等待狀態,直到佇列中又有資料為止。如果一直沒有新的資料加入佇列,則程式將出現卡死現象。
下面展示一些內聯**片
。
import queue
q = queue.queue(5)
for i in
range(5
):#將0-4加入佇列中
q.put(i)
for i in
range(6
):#在佇列中去資料,取了6次,則最後一次將無值可取。
print
(q.get(
))
如果給timeout賦值,且賦值時間結束後佇列queue仍為空,則會丟擲empty異常。 我們可以使用try----except **塊來將程式優雅的退出。
下面展示一些內聯**片
。
import queue
q = queue.queue(5)
for i in
range(5
):#將0-4加入佇列中
q.put(i)
for i in
range(6
):#使用異常處理
try:
print
(q.get(timeout=5)
)#等待5秒,如果還是不能取到資料,則丟擲異常。
except
:break
Python中模組之queue的功能介紹
佇列主要要分為兩種 1.雙向佇列 2.單項佇列建立單項佇列 格式 queue.queue obj 例如 que queue.queue abc 返回值 queue.queue 建立單項佇列時的引數可以是任意物件,無論傳入的引數是什麼,該佇列始終是空的。empty 判斷佇列是否是空的 格式 queue...
python學習之佇列(Queue)
佇列模組是繼承multi producer,multi consumer queues。它經常被用作處理執行緒操作,比如要進行多執行緒之間通訊時。佇列有三種型別,這種不同體現在檢索順序上。這三種分別為fifo佇列 lifo佇列 它更像我們所說的棧 和優先順序佇列。fifo佇列是先進先出 lifo佇列...
Python程序通訊之Queue
前言 process之間有時需要通訊,作業系統提供了很多機制來實現程序間的通訊。本博文主要講解 程序間通訊的queue。python多程序中的multiprocessing python多程序中的fork python併發程式設計之程序池 我們可以使用multiprocessing模組的queue實...