死线是内存泄漏的威胁吗?

时间:2011-04-06 10:30:52

标签: java multithreading

是一个死线程对内存使用的威胁?它最终会得到GC吗?

4 个答案:

答案 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会选择它。