您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

多进程共享进程之间的不可序列化对象

多进程共享进程之间的不可序列化对象

在大多数情况下,将现有对象的引用传递给另一个进程并不是很理想。相反,您可以创建要在流程之间共享的类:

class MySharedClass:
    # stuff...

然后,您将像这样创建一个代理管理器:

import multiprocessing.managers as m
class MyManager(m.BaseManager):
    pass # Pass is really enough. Nothing needs to be done here.

然后,您在该Manager上注册课程,如下所示:

MyManager.register("MySharedClass", MySharedClass)

然后,实例化了经理并启动了经理之后,manager.start()您就可以使用创建类的共享实例manager.MySharedClass。这应该适合所有需求。返回的代理的工作原理与原始对象完全相同,除了文档中描述的某些例外。

其他 2022/1/1 18:44:42 有441人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶