python的进程间共享数据可以通过multiprocess中的queue,pipe等现成的消息队列传递
也可以通过multiprocessing.manager创建共享的基本数据类型(如list,RLock等内置类型)
但是以上两种方法都只能传递python内置数据类型
如何传递一个自定义类型数据? 比如结构体
方法是通过BaseManager派生子类(文档17.2.2.7.2)
17.2.2.7.2.
Customized managers To create one’s own manager, one creates a subclass of BaseManager and uses the register() classmethod to register new types or callables with the manager class.
For example:
from multiprocessing.managers import BaseManager
class MathsClass:
def add(self, x, y):
return x + y
def mul(self, x, y):
return x * y
class MyManager(BaseManager):
pass
MyManager.register('Maths', MathsClass)
if __name__ =&#