Этот код работоспособен
Я получаю пустую ссылку на массив
хотя я должен получить массив с объектами в нем,
когда я печатаю ссылку в func_b, она не пуста
Self должен ссылаться на объект, но я думаю, что это не относится к многопроцессорной обработке, это похоже на какую-то копию< /p>
Кто-нибудь знает решение?
Спасибо
class class_b:
def __init__(self):
self.counter=0
self.sum=[]
class class_a:
import random as ran
from multiprocessing import Pool
import os
def __init__(self):
self.link=[0]*50
self.arr_a=[0]*100
def func_b(self,arg):
arr_key=self.ran.randint(0, 50)
if self.link[arr_key] ==0:
self.link[arr_key]=class_b()
else:
obj=self.link[arr_key]
obj.counter+=1
(obj.sum).append(self.ran.randint(0,10))
print(self.link)
def func_a(self):
with self.Pool(processes=self.os.cpu_count()) as pool:
pool.map(self.func_b,enumerate(self.arr_a))
print(self.link)
def task():
obj=class_a()
obj.func_a()
if __name__ == '__main__':
task()
Подробнее здесь: https://stackoverflow.com/questions/787 ... ss-objects