在大多数情况下,将现有对象的引用传递给另一个进程并不是很理想。相反,您可以创建要在流程之间共享的类:
class MySharedClass: # stuff...
然后,您将像这样创建一个代理管理器:
import multiprocessing.managers as mclass MyManager(m.baseManager): pass # Pass is really enough. Nothing needs to be done here.
然后,您在该Manager上注册课程,如下所示:
MyManager.register("MySharedClass", MySharedClass)
然后,实例化了经理并启动了经理之后,
manager.start()您就可以使用创建类的共享实例
manager.MySharedClass。这应该适合所有需求。返回的代理的工作原理与原始对象完全相同,除了文档中描述的某些例外。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)