java - java中对线程的引用何时超出范围?
问题描述
当我们在 Java 中定义新线程时,线程的引用何时脱离上下文?例如,如果我创建一个WeakHashMap<Thread, Object>
死线程的条目何时会从此 Hashmap 中删除?
此外,如果使用线程池执行某些任务(Runnable
),来自 hashmap 的引用是否会被丢弃?
解决方案
只要线程还活着,它就是垃圾收集根。一旦它终止,它将有资格从弱哈希映射中删除。
对于第二部分,参考什么?如果引用 Runnable 任务,一旦线程池完成执行任务,线程池持有的引用将消失。池中的线程将继续执行任务,直到池关闭或由于未捕获的异常而死亡。
推荐阅读
- javascript - 更改点击 HTML 的值
- css - 如何在mac中对齐输入元素文本
- cpu-architecture - 直接寻址方式的指令格式
- loops - 标记显示错误的数字 Flutter
- wordpress - 更新 httpd.conf 不适用于永久链接
- c# - 由变量定义的带有 Newtonsoft 的自定义 JSON 字段名称
- python - 尝试在 Python 中从海康威视摄像头读取热数据
- react-native - 在本机反应中将 mobx 存储设置为 const 值
- reactjs - 如果我刷新浏览器,我的反应应用程序是页面不支持的错误消息
- discord - Autorole不和谐机器人python