簡體   English   中英

Python隊列模塊卡住了

[英]Python Queue module get stuck

在Python2.7中,使用Queue模塊時:

q = Queue.PriorityQueue(maxsize=3)
q.put((1,'foo'))
q.put((2,'bar'))
q.put((3,'baz'))
q.put((4,'boo'))   # on purpose

然后腳本卡住了。 我也試過Ipython,當我放第4項時它會卡住。 為什么會這樣? 如何正確使用PriorityQueue創建給定大小的優先級隊列。

根據Queue模塊文檔

Queue.put(item [,block [,timeout]])

將項目放入隊列。 如果可選的args塊為true且timeout為None(默認值),則在必要時阻塞,直到有空閑插槽可用。 如果timeout是一個正數,它會阻止最多超時秒,如果在該時間內沒有可用的空閑槽,則會引發Full異常。 否則(塊為假),如果空閑插槽立即可用,則將項目放入隊列,否則引發完全異常(在這種情況下忽略超時)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM