ThreadLocal使用与原理(转)

转自:ThreadLocal使用与原理_敖丙-CSDN博客

本准备看ConcurrentHashMap的知识,突然发现需要很多并发方面的知识,于是又去补多线程和并发知识,除了基础方法 线程状态 CAS AQS 和ThreadLocal这些也都需要做些了解

https://blog.csdn.net/javazejian/article/details/75043422(AQS)

https://blog.csdn.net/javazejian/article/details/72772470(CAS)

https://blog.csdn.net/qq_35190492/article/details/107599875(ThreadLocal的介绍)

ThreadLocal是个神奇的类,不加锁实现了数据在线程之间的隔离性,但有内存泄露的风险,而提到内存泄漏,又会扯到ThreadLocal中对于弱引用的key和强引用的value是怎么分开引用的,于是又去看了下java中的四种引用:java中强弱虚软四种引用简介_future_xiaowu的博客-CSDN博客

简略概括下转载的内容

1 ThreadLocal实现数据线程间隔离的原理

2 ThreadLocal中对弱引用的key,以及存在强引用链Tread->ThreadLocalMap->Entry->value的value的回收策略,由于线程池的存在导致线程不会被回收,value的回收是考特定方法实现的

3 InheritableThreadLocal实现线程数据共享

4 ThreadLocalMap中hash冲突的处理策略(不借助像HashMap一样的链表结构,直接使用下一个桶位置)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值