我正在使用python multiprocessing Manager命名空间类在进程之间共享变量。我想知道如何删除存储在命名空间中的变量以释放内存
直接删除命名空间对象是否安全?还是我必须删除Manager对象?
Mgr = Manager()
sharedData = Mgr.Namespace()
sharedData.df = df
pool = Pool(3)
def sum(a):
return sharedData.df.sum(axis = 0)+a
def f(i):
return i, sum(i)
res = pool.map(f, [0, 1, 2])
pool.close()
sums = pd.DataFrame(data = [res[i][1] for i in range(len(res))])
print(sums)
del df
del sharedData
gc.collect()