[英]Does lock.acquire blocks processes in non critical section
也許我沒有很好地閱讀過文檔,但是我沒有找到有關lock或rlock的aquire工作方式的更多信息...不管這些進程在執行什么語句,它是否都會阻塞所有進程(即使它們並不重要)部分)..還是僅阻止嘗試訪問關鍵部分的進程
謝謝 !
從文檔:
class
multiprocessing.Lock
非遞歸鎖定對象:threading.Lock的近似模擬。 一旦進程或線程獲取了鎖,則隨后從任何進程或線程獲取鎖的嘗試都將阻塞,直到釋放為止;否則,該鎖將被釋放。 任何進程或線程都可能釋放它。 除非另有說明,否則適用於線程的threading.Lock的概念和行為將在multiprocessing.Lock中復制,適用於進程或線程。
因此,當您調用acquire()
(注意block
參數使用默認值)時,您的過程將:
這種機制使您可以在邏輯中定義“關鍵部分”,這意味着一次僅一個進程將執行該特定功能(即播放音頻文件)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.