当我们使用多个池运行多处理时,我们如何在完成任务后退出进程并减少内存使用量?我已经包含了close()和join()。但是我看到这个过程在他们的工作之后仍然保留着记忆。我们如何放弃这段记忆?
from multiprocessing import Pool
import pandas as pd
def sub_test(aux):
return sum(aux.A)
def test(aux):
pool = Pool(processes=4)
pool.map(sub_test, aux)
pool.close()
pool.join()
#here is the main function
aux = pd.DataFrame()
aux['A'] = [1,1,1]
for x in range(10):
test(aux)
问题解决了。
pool.close()和pool.join()正常工作。