[英]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.