TLDR:阻塞會被以某種方式終止的佇列解除阻塞嗎?
長問題:
好的,所以我知道如果佇列 ( multiprocessing.Queue
) 在嘗試使用阻塞獲取從中獲取某些內容時永遠保持為空,則執行緒將掛起。
但是現在假設在另一個執行緒或行程中,我使用 queue.close() 關閉佇列,呼叫 queue.cancel_join_thread(),然后呼叫 queue.join_thread()。
在試圖殺死佇列時,阻塞“get”會引發例外或其他什么?
謝謝!
uj5u.com熱心網友回復:
是的,如果佇列關閉,則會引發例外。
從最新的檔案:
在 Queue.get() 下會出現以下陳述句:
“在 3.8 版中更改:如果佇列已關閉,則會引發 ValueError 而不是 OSError。”
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/496640.html
標籤:Python 多线程 多处理 队列 python-多处理