是一个死线程对内存使用的威胁?它最终会得到GC吗?
答案 0 :(得分:7)
如果任何其他对象的死线程将被GC收集,如果任何引用都无法访问它。设置指向null
的所有变量应该可供GC收集。
对内存使用的威胁......这取决于你在其中使用了多少内存 - 以及对其他对象实例(列表,哈希表......)的引用数量。与任何其他类型的对象一样,它对内存使用的威胁完全相同。
答案 1 :(得分:1)
显然如果你的代码仍然有一个引用,那么线程对象仍然存在,你不能重新启动它,但它仍然是一个可用的java对象(对不起,如果这太明显了,最好先消除它;-))
这里也发生了同样的讨论。
http://www.coderanch.com/t/531074/threads/java/dead-thread-threat-memory-leak
答案 2 :(得分:1)
将线程对象设置为null应该保证死线程对象上的GC。
答案 3 :(得分:1)
只需将您不再使用的所有资源放在休息状态,然后将其放入null
更安全,然后抱歉。 GC会选择它。