ThreadPoolExecutor使用完整的内存,系统挂起

时间:2018-10-24 11:28:31

标签: python python-3.x multithreading

我真的是python编码的新手,很抱歉,如果我对树木一无所知。

我正在将一个大文件读入一个列表(大约2个Mio条目),对于每个要调用的函数,该函数都会执行POST调用。我想使用max_workers来对电话进行分类。

为什么我的内存不断增加,而大约1分钟后,整个内存已满并且系统挂起。

线程是否关闭并且系统正在保留它们?

如何改善代码?

谢谢!


import requests
from concurrent.futures import ThreadPoolExecutor

with open("/some/file", "r", encoding = "ISO-8859-1") as file:
    items = [line.strip() for line in file]

def check_smthg(var1):
    d = {"foo": var1}
    r = requests.post("....", json=d)
    ...
    print(r)
    r.close()

with ThreadPoolExecutor(max_workers=3) as executor:
    for item in items:
        executor.submit(check_smthg,item)

0 个答案:

没有答案