什么时候对java中的线程的引用超出范围?

时间:2018-05-22 10:45:56

标签: java

当我们在Java中定义新线程时,线程的引用何时脱离上下文?例如,如果我创建WeakHashMap<Thread, Object>什么时候会从此Hashmap中删除死线程的条目?

如果使用线程池执行某个任务(Runnable),是否会丢弃来自hashmap的引用?

1 个答案:

答案 0 :(得分:2)

线程是垃圾收集根,只要它还活着。一旦终止,它就有资格从弱哈希映射中删除。

对于第二部分,参考什么?如果引用Runnable任务,则一旦池完成执行任务,线程池保留的引用将消失。池中的线程将继续执行任务,直到池关闭或由于未捕获的异常而导致它们死亡。