您好,登錄后才能下訂單哦!
如何在python中實例化Queue?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
python常用的庫:1.requesuts;2.scrapy;3.pillow;4.twisted;5.numpy;6.matplotlib;7.pygama;8.ipyhton等。
1、Queue的方法
實例化Queue(),未指定最大可接收信息的最大參數或該參數為負數,則默認無上限(最大內存上限)
Queue.qsize(): 返回當前隊列包含消息的數量
Queue.empty(): 判斷隊列是否為空,是為True,否為False
Queue.full(): 判斷隊列是否滿了,是為True,否為False
Queue.get([block[,timeout]]): 獲取一條隊列的消息,然后將其從隊列中刪除,black默認為True
如果block為默認值,沒有設置timeout,消息隊列又為空,那么此時程序將會阻塞(停在讀取狀態),直到隊列中有值,從消息隊列中讀取到值.如果設置了timeout,等待timeout的時間就會報出(Queue.Empty)異常
如果block為False,消息隊列為空,則會立刻拋出(Queue.Empty)異常
2、實例化
from multiprocessing import Queue q = Queue(3) #在實例化時傳入消息隊列的最大數量 q.put("test1") q.put("test2") print(q.full()) #這里隊列未滿,返回False q.put("test3") print(q.full()) #這里隊列已經滿了,返回True try: q.put("test4", timeout=2) #在寫入時,如果隊列是滿的,就等待兩秒鐘,如還不可以,拋出異常 except: print("當前消息隊列的數量為%s" % q.qsize()) try: q.put("test4", block=False) # 在寫入時,如果隊列是滿的,直接拋出異常 except: print("當前消息隊列的數量為%s" % q.qsize()) # 在寫入之前,可以判斷下隊列是否是滿的 if not q.full(): q.put_nowait("test4") # 同理,在取數之前,判斷隊列是否為空 if not q.empty(): for i in range(q.qsize()): print(q.get_nowait())
關于如何在python中實例化Queue問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。