我试图并行运行导入模块中的多个函数,但由于某种原因,每次新函数开始处理时,使用的内存似乎都会增加。这意味着一段时间后我会收到内存错误,因为我用完了可用内存。就好像已完成的进程中使用的内存没有被释放。
这是代码:
import module1
import module2
import module3
import module4
import time
import sys
import types
from multiprocessing import pool
if __name__ == '__main__':
functions = ['module1', 'module2', 'module3', 'module4']
with Pool(processes=2) as pool:
futures = [pool.apply_async(globals()[func].initiate, args=('monthly', )) for func in functions]
for fut in futures:
try:
result = fut.get()
except Exception as exc:
print('A process generated an exception: %s' % exc)
导入的模块基本上导入csv文件,运行分析并输出到xlsx文件。我正在使用 python 3.8.10 并且我还可以访问并发.futures。
谢谢你
代码分析部分对CSV文件数据进行什么类型的计算?
您能否展示一下 module1、module2、module3、module4 执行什么类型的逻辑的代码片段或示例代码? 这将有助于更清楚地了解您目前的情况。