在使用Python进行线程处理期间内存不断上升

时间:2013-01-01 17:59:51

标签: python multithreading performance memory

我在Python中遇到线程问题。内存不断起来(pythonw.exe)..它以+ - 20.000 kB开始,但一直上升,直到程序完成。任何人都知道如何解决这个问题?

class Threads(threading.Thread):
    def run(self):
        try:
            HTML = urllib2.urlopen(//URL//).read()
        except urllib2.HTTPError: pass
        except: pass

def __Scan__():
    Count = 0
    while Count <10000:
        Count = Count + 1
        try:
            Thread = Threads()
            Thread.name = Count
            Thread.start()
        except:
            Count = Count - 1

每个线程将打开一个URL,然后我将线程的编号存储在列表中。但我不认为这是记忆力上升的原因吗?有人可以帮忙吗?

THX

1 个答案:

答案 0 :(得分:1)

内存的增加可能来自为每个新线程创建的堆栈空间。 Python中的线程(以及大多数其他语言)具有一定的资源开销。每次创建一个,都会为它分配一点内存。