python之queue使用中timeout講解。

2021-10-24 17:30:12 字數 797 閱讀 1247

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實...