from queue import Queue q = Queue(maxsize=3)#限制隊列3個 #添加內容進去到隊列 q.put(10) q.put(20) q.put(30) print(q.qsize())#獲取隊列內容個數 # q.put(40)#如果隊列內容滿了再添加將會柱塞,進程無法結束嗎,直到內容有位置 # q.put_nowait(50)#如果滿了, 還添加就報一個Full的錯誤 print(q.unfinished_tasks)#沒有結束任務數量, # 這個變量, 每次添加都會增加1,但是每次get時候, 并不會減少1 print(q.get())#獲取到內容從頭獲取 q.task_done()# (任務完成意思)才會讓 unfinished_tasks 參數減少1 print(q.get()) q.task_done() print(q.unfinished_tasks) print(q.get()) q.task_done() print(q.unfinished_tasks) # 默認情況下. 當隊列為空了, 再調用get方法就阻塞當前線程, 知道能取出數據為止 # print(q.get()) # - url.. # - 發送請求獲取響應的 # 當 unfinished_tasks == 0 時候, 判定任務都完成了 q.join() # 讓主線程登錄, 直到隊列中任務都完成了為止
就是這么簡單
浙公網安備 33010602011771號