Python线程泄漏内存

时间:2016-10-10 07:36:42

标签: python multithreading memory-leaks

我有一个测试脚本,它启动多个线程,加入它们并检查进程使用的驻留内存:

from threading import Thread
import resource


def resident_memory() -> int:
    return resource.getrusage(resource.RUSAGE_SELF).ru_maxrss


def work():
    a = 'Hello world'
    a += '!!!'


def run_threads(count: int) -> None:
    for _ in range(count):
        t = Thread(target=work)
        t.start()
        t.join()


def run_workers(count: int) -> None:
    for _ in range(count):
        work()


while True:
    print('Mem usage:', resident_memory())
    run_threads(10000)
    #run_workers(10000)

即使我加入线程,似乎驻留内存也在不断增长。 如果我在主线程中运行work()函数,则不会检测到内存泄漏。 我正在使用python 3.5进行测试。 这是一个已知的问题吗?

0 个答案:

没有答案