公正廉明的 ThreadLocal

ThreadLocal

在移动端开发中很少会使用到这个类,首先来说明一下,该类是干什么的。

在多线程环境下用来保证,线程变量不会被其他线程可见,当前线程独享。

那么我们通过一个故事来说明一下。

假设我们每一个人都是一个线程。而ThreadLocal是一个打柜子的师傅。

你刚出生的时候,也就是 线程刚被 new 出来的时候,这个时候呢,你手里面已经有了一个可以打柜子的地方,但是这个地方是没有实体柜子的也就是空的(null),也是就是每一个线程里面都会有一个ThreadLocalMap对象的引用,这个地方好好体会一下,是不是很形象。

有一天你觉得这个地方如果不放上柜子的话,太浪费了,在现在这个寸土寸金的年代,不行我要打上柜子才行,有点私人物品需要放在里面,那么这个时候你就找到了 号称 java 界的鲁班大师,ThreadLocal  先生。

你:先生我想要打一个柜子。

TL:没有问题,我的手艺跟鲁班大师有的一比。

TL:您是打一个新的柜子,还是说原来有柜子了,找我来换把锁就行。

你:我需要新做一个,有些私人东西,需要放在里面。不能被其他人看见才行。

TL:您放心,我在钥匙在 ,我丢钥匙也不能丢。

TL:哒哒哒干了一上午,一个漂亮的柜子终于完工了。

你:谢谢师傅。我要把我的,所有金银首饰都放在里面,还用袋子给装一下,(就是 ThreadLocalMap 中的 val

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值