【发布时间】:2021-01-11 01:04:33
【问题描述】:
我正在运行多处理代码。代码框架如下:
def func_a(x):
#main function here
return result
def func_b(y):
cores = multiprocessing.cpu_count() - 1
pool = multiprocessing.Pool(processes=cores)
results = pool.map(func_a, np.arange(1000)
return results
if __name__ == '__main__':
final_resu = []
for i in range(0, 200):
final_resu.append(func_b(i))
我在这段代码中发现的问题有两个问题:首先,内存在循环过程中不断上升。其次,在任务管理器(windows10)中,python 执行的数量逐步增加,即从 14 到 25,到 36,到 47 ......每次迭代都在主循环中完成。
我认为多处理有问题,但我不知道如何处理它。好像func_b中的multiprocessing在主循环完成一个循环后没有被删除?
【问题讨论】: