2024-04-19 09:11:10 发布
网友
multiprocessing.Event和{}之间有什么区别。我什么时候使用它们?为什么存在两个不同的对象?在
multiprocessing.Event
同样的问题存在于multiprocessing中,也存在于Manager(Lock等)中
multiprocessing
Manager
Lock
在多处理管理器本质上是一个专门的进程,它将按需在自己的地址空间中创建多处理同步原语的实例,并允许您通过RPC代理访问它们。这些原语的行为是相同的,并且它们具有额外的灵活性,可以从远程主机访问(在远程情况下使用TCP)。在
不幸的是,唯一给出的答案不是很正确,其他的答案也没有给出。在
我自己查了一下,发现multiprocessing.Event可以用于进程之间的同步,这是完全可以的。在
Event和来自{}的其他对象的存在能够通过底层的套接字在不同机器上运行的进程之间进行同步。它们也可以在单机上使用synchronize,但这比仅仅使用multiprocessing.synchronize中的synch对象(比如Event和{}等)要低一些
Event
multiprocessing.synchronize
在多处理管理器本质上是一个专门的进程,它将按需在自己的地址空间中创建多处理同步原语的实例,并允许您通过RPC代理访问它们。这些原语的行为是相同的,并且它们具有额外的灵活性,可以从远程主机访问(在远程情况下使用TCP)。在
不幸的是,唯一给出的答案不是很正确,其他的答案也没有给出。在
我自己查了一下,发现
multiprocessing.Event
可以用于进程之间的同步,这是完全可以的。在Event
和来自{multiprocessing.synchronize
中的synch对象(比如Event
和{相关问题 更多 >
编程相关推荐