关于python类的问题?

各位好, 我有两个类大概是这样

class Handler(object):
    def init_handler(self, a):
        self.a = a
    def handle(self):
        self.a.status = 2 # 初始化的时候a.status 是1

class Worker(object):
    def __init__(self, handler):
        self.handler = handler  # 这里是上边类实例化后的内容
    def run(self):
        a = init_a()  # 现在a.status 是1
        self.handler.init_handler(a)
        self.handle()  # 这里已经是2了, 对了, 这里用了mutiprocess 进程去跑的
        print(self.handler.a.status)  # 这里发现还是1

所以我不太确定是否因为是进程影响了内存调用? 我换称线程是否可以解决这个问题, 抑或是其他问题. 我的诉求就是, 在self.handle里执行后, worker里通过调用self.handler.的任何数据都应该是最新的. 谢谢

阅读 1.9k
1 个回答

multiprocess: 这个是多进程。不同进程的内存是完全独立的,在一个进程里的修改在另一个进程里是看不到的。