我有一段代码不断创建类 Car 的新实例。这样做时,类 Car 正在创建它自己的实例列表,因此当我想获取当前实例的信息时,我可以轻松地这样做,如下面的代码所示:from multiprocessing import Processimport timeclass Car: car_list = list() def __init__(self, id, model): self.id = id self.model = model Car.car_list.append(self) @classmethod def get_current_instances(cls): return Car.car_listclass Interface: def print_current_system(self): while True: print(len(Car.get_current_instances())) time.sleep(1)if __name__ == "__main__": interface = Interface() model = ["Toyota", "BMW"] [Car(i, model[i]) for i in range(len(model))] print_process = Process(target=interface.print_current_system) print_process.start() Car(2345, "Tesla") print("from main process " + str(len(Car.get_current_instances()))) 出于问题的目的,此代码已简化。但是,问题仍然存在。我正在从新进程调用函数 print_current_system。此函数不断查看 Car 的所有当前实例并打印汽车数量。当我开始这个进程,然后,然后添加一些新的 Car 实例时,这些实例对另一个子进程是隐藏的,而对主进程是完全可见的。我很确定我需要使用队列或管道之类的东西。但是,我不确定如何。这是上面代码的输出:2from main process 322222
添加回答
举报
0/150
提交
取消