0

我在 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

每个 Thread 都会打开一个 URL,然后我将 Thread 的编号存储在一个列表中。但我不认为这是内存上升的原因?任何人都可以帮忙吗?

谢谢

4

1 回答 1

1

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

于 2013-01-01T18:02:42.680 回答