【Java多线程】$3 ThreadLocal

ThreadLocal

作用 让每一个线程都有绑定自己的值。

可重写 initialValue() 方法来默认一个初始化值

InheritableThreadLocal

作用 让子线程可以从父线程中取值

ThreadLocal & Thread & ThreadLocalMap

Threadlocal 是为了使各个线程(Thread)都有一份自己独立的 变量/对象 , 而不是 用来解决共享对象的多线程访问问题的。ThreadLocal将自己的数据存放在ThreadLocalMap中并共享给Thread,即ThreadLocal 与Thread共同拥有 ThreadLocal.ThreadLocalMap值。ThreadLocal会获取Thread中的ThreadLocalMap值,如果没有,会创建一个新的对象并绑定到Thread对象中。

至于为什么不把ThreadLocalMap作为一个集合型Map,而让每个线程单独拥有,个人觉得可能是考虑到gc。如果作为集合Map,无法很好的清理把。如果有知道的麻烦告知一下

参考: https://cloud.tencent.com/developer/article/1393136

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值