如何删除多处理Manager.Namespace

时间:2019-07-20 03:49:12

标签: python multiprocessing

我正在使用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()

0 个答案:

没有答案