关闭Python线程以防止内存泄漏

时间:2017-06-07 03:47:11

标签: python multithreading

如何关闭Python线程以确保线程内存中的所有内容都从内存中清除?目前,我有一个以下列方式加入的线程列表:

for t in threadlist:
    t.join(5)

这些线程最初创建循环遍历一个参数列表,以传递给myfunc的每个线程,并将结果附加到列表中:

threadlist = []
for r in arglist:
    t = Thread(target=myfunc, args=(r,))
    t.daemon = True
    threadlist.append(t)

当我用pympler查看内存中的内容时,线程调用的函数中的所有内容都会在执行后保留在内存中。我需要它来进行垃圾收集,因为如果我没有线程就正常调用myfunc

1 个答案:

答案 0 :(得分:2)

  

已在评论中解决:

     

被删除的对象包含在对象函数中   将它们移出该对象函数和
  进入常规功能后,允许在删除后进行垃圾收集   迈克尔