python:多处理事件
python:多处理事件,python,multiprocessing,Python,Multiprocessing,多处理.Event和多处理.managers.SyncManager.Event之间的区别是什么。我什么时候用?为什么存在两个不同的对象 对于直接存在于多处理和管理器(锁等)中的其他类似对象,同样的问题。不幸的是,唯一给出的答案不是很正确,其他答案没有给出 我自己查了一下,发现multiprocessing.Event可以用来在进程之间同步,这完全没问题 Event和来自multiprocessing.Manager的其他对象的存在是为了能够通过机罩下的套接字在不同机器上运行的进程之间进行同步。
多处理.Event
和多处理.managers.SyncManager.Event
之间的区别是什么。我什么时候用?为什么存在两个不同的对象
对于直接存在于
多处理
和管理器
(锁
等)中的其他类似对象,同样的问题。不幸的是,唯一给出的答案不是很正确,其他答案没有给出
我自己查了一下,发现multiprocessing.Event
可以用来在进程之间同步,这完全没问题
Event
和来自multiprocessing.Manager
的其他对象的存在是为了能够通过机罩下的套接字在不同机器上运行的进程之间进行同步。它们也可以用于在单机上进行同步,但其效率低于仅使用来自多处理的同步对象。同步(如事件和锁定等)multiprocessing.Manager本质上是一个专门的过程,它将根据需要在自己的地址空间中创建多处理同步原语的实例,并允许您通过RPC代理访问它们。原语的行为相同,并且它们具有额外的灵活性,可以从远程主机访问(在远程情况下使用TCP)。您可以在同一台机器上访问用户管理器,其目的是提供代理对象,这些对象可以与通过管理器发布的真实共享资源交互。在某种程度上,它是一种“RPC-lite”@utapyngo:在2.7的文档“16.6.1.4.进程间共享状态”一节中,特别是阅读最后一部分。还有一些谷歌和阅读教程