如何关闭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
。
答案 0 :(得分:2)
已在评论中解决:
被删除的对象包含在对象函数中 将它们移出该对象函数和
进入常规功能后,允许在删除后进行垃圾收集 迈克尔