我有一段代碼不斷創建類 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
提交
取消