lock.ACQUE是否在非关键部分阻止进程

2024-09-28 05:23:24 发布

您现在位置:Python中文网/ 问答频道 /正文

也许我没有很好地阅读文档,但我没有找到关于lock或rlock的aquire如何工作的更多信息。。。它是否会阻止所有进程,无论这些进程在什么语句上(即使它们不在关键部分)。。还是只阻止试图访问关键部分的进程

谢谢大家!


Tags: 文档信息lock进程语句rlock关键aquire
1条回答
网友
1楼 · 发布于 2024-09-28 05:23:24

从文档中:

class multiprocessing.Lock

A non-recursive lock object: a close analog of threading.Lock. Once a process or thread has acquired a lock, subsequent attempts to acquire it from any process or thread will block until it is released; any process or thread may release it. The concepts and behaviors of threading.Lock as it applies to threads are replicated here in multiprocessing.Lock as it applies to either processes or threads, except as noted.

因此,当您调用acquire()(注意block参数使用默认值)时,您的进程将:

  1. 如果锁处于解锁状态,则获取锁
  2. 阻止,直到锁处于解锁状态,然后获取它

此机制允许您在逻辑中定义“关键部分”,这意味着一次只有一个进程将执行该特定功能(即播放音频文件)

相关问题 更多 >

    热门问题