threadlocal简单介绍

threadlocal便是我昨天被问到自闭的一个面试题.

threadlocal的本质就是以空间换取时间.

在你需要多个线程资源隔离时,比如一套业务流程只能用一个连接,为了将线程连接隔离,你要用锁来,但这样效率就低的离谱.这个时候你就可以使用threadlocal.
这里就不说threadlocal的用法了,他的原理就是你在某个线程用到threadlocal时就会在当前线程中开启一个hash表,且无链表(这就意味着发生冲突,他只能卑微的判断下一个entry是不是空的(~ ̄▽ ̄)~)
在这里插入图片描述
而thradlocal就是key,这也就说你用一个threadlocal不管你怎么get,set他也只能存一个值,你想多存就要多创建threadlocal

使用场景

在线程需要各自私有实例时
实例需要在多个方法中共享,却要在各个线程中隔离

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值