使用SyncManager,如果一组进程需要共享多个
dict()
(比如说),典型的方法是让启动进程创建它们,并将代理传递给子进程。
但是,对于远程管理器,这种识别共享词典的方法不可用。建立共享对象身份的最佳方法是什么?
如果每个子进程调用
SyncManger.dict()
三次,它们是否保证以相同的顺序取回相同三个对象的代理?
处理这个问题的好方法是拥有一个“指定”字典(例如,调用的第一个字典),这是可以注册其他对象的地方?这对于
Namespace
来说是一个很好的用途还是它们只是用于共享常量?
问题是关于在远程进程使用时识别 Python 的 multiprocessing.managers.SyncManager 中的共享对象。
简单说明: 当您在Python中使用SyncManager来管理共享对象时,您共享的对象(例如字典、列表)可以跨进程使用,甚至可以远程使用。每个共享对象在创建时都会被分配一个唯一的 ID 或“密钥”。