#python #class #multiprocessing #multiprocessing-manager
Вопрос:
Я знаю, что этот вопрос задают во многих потоках, но до сих пор я не мог найти правильного решения. Ниже приведен мой код:
Class A:
def init(self):
self.b = B()
Class B:
def init(self):
....
В основной функции
d = mp.Manager().dict()
p = mp.Pool(initializer=init function, initargs=[d])
d содержит объекты, созданные несколькими процессами.
Но когда он запускается, переменные внутри объекта не разделяются между процессами.
Пожалуйста, посоветуйтесь
Ответ №1:
Да, это одно из ограничений многопроцессорной обработки. Это буквально отдельные процессы с отдельными адресными пространствами. Если вам нужно общаться между ними, вам нужно использовать очередь или сокет.