Я создал класс, который будет генерировать несколько дочерних процессов, но не хочет, чтобы некоторые объекты родительского процесса копировались по нескольким дочерним процессам. Например, proc1 и proc2 в классе x ниже скопировали переменные родителя 'a' и 'b', когда они запущены (то есть proc1.start() и proc2.start()). Однако мне не нужно копировать «a», поскольку эти процессы не используют его. В моей программе есть много таких переменных, которые работают только в родительском процессе. Некоторые из них - очень большие словари или Pandas Dataframes. Есть ли способ предотвратить их копирование?Объект, принадлежащий родительскому объекту в многопроцессорности Python
class x:
def __init__(self):
self.b = 20
self.a = 10
proc1 = mp.Process(target=self.func1)
proc2 = mp.Process(target=self.func2)
proc1.start()
proc2.start()
# Main process is doing something here
proc1.join()
proc2.join()
def func1(self):
time.sleep(10)
print("Process 1:",self.b)
def func2(self):
self.b = 15
print("Process 2:",self.b)
if __name__ == '__main__':
y = x()