how to free multiprocessing memory

Viewed 25

I use apply_async, the returning data is 10000 matrix, but the problem is the data in res_list is not released, even if I set it as none. So how to free the memory in res_list. Or maybe I use multiprocessing in a wrong way.

res_list = []
pool = Pool(10)
for i in range(100):
    for j in range(100):
        res_list.append(pool.apply_async(calculate, (i, j)))

pool.close()
pool.join()


result = []
for i in range(100):
    for j in range(100): 
        result.append(res_list[i*100 +j].get())

res_list = None
gc.collect()
0 Answers
Related