首页 新闻 会员 周边 捐助

python在线程池中跑任务,如何在代码中及时清理内存资源

0
[待解决问题]

我这有个大型任务,通过线程池的方式去跑的,代码如下:
execute = ThreadPoolExecutor(max_workers=3)
all_task_list = []
index = 0
for info in ips:
all_task_list.append(execute.submit(function1, params))
index += 1
if index%1000 ==0:
gc.collect()
wait(all_task_list, return_when=ALL_COMPLETED)

def function1(params):
XXXX
return
这个任务跑起来之后内存,会慢慢一直增长,任务执行的越来越慢,直到swap内存也被撑爆,function1这个方法中是解析一段字符串,然后保存数据库的,会有一个全局参数,但是这个参数肯定不大,谁知道为什么内存无法被释放?

一个和🔥有缘的人的主页 一个和🔥有缘的人 | 菜鸟二级 | 园豆:208
提问于:2019-02-20 15:56
< >
分享
所有回答(1)
0

大佬,有解决方案吗, 我也遇到了这个问题

博客博人生 | 园豆:202 (菜鸟二级) | 2023-08-16 09:35
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册