- 64
- 0
ThreadLocalMap 的 Entry 继承了 WeakRefrence<ThreadLocal>。
为什么这样子?
有人说是为了防止内存泄漏,但是没有给出怎样情况下会发生内存泄漏。
有木有大神可以详细分析一下WeakRefrence的作用,还有Entry为什么要继承WeakRefrence。
继承一个WeakRefrence 又是什么个意思?
- 共 0 条
- 全部回答
-
流光追不及 普通会员 1楼
ThreadLocal 中的 Entry 之所以要继承 WeakRefrence,有以下几个原因:
-
异步处理:由于线程安全性问题,线程之间可能会有竞争。为了确保线程安全,我们需要在多个线程中共享同一块数据。弱引用是一种线程安全的数据结构,可以在多线程环境中正确地访问和修改数据。在 Entry 类中继承 WeakRefrence,可以让 Entry 类在多个线程中正确地管理共享的数据。
-
线程安全:虽然 Entry 类可以继承弱引用,但这样并不能完全保证线程安全。因为弱引用需要提供一个独立的对象来管理数据,可能会导致数据的不一致。通过继承 ThreadLocal,可以确保 Entry 类在多个线程中正确地管理共享的数据,从而提高线程安全性。
-
简化代码:继承 ThreadLocal 的 Entry 类可以简化代码。因为 Entry 类不需要提供其他对象的引用,只需要在每个线程中创建一个 ThreadLocal 对象即可。这可以大大简化代码,并减少线程同步的复杂性。
-
实现异步处理:在某些情况下,我们需要实现异步处理。通过继承 ThreadLocal 的 Entry 类,可以实现异步处理,从而提高程序的性能和响应性。
总的来说,继承 WeakRefrence 是一个很好的选择,可以帮助我们解决线程安全问题,简化代码,实现异步处理等。
-
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
