关注
今天发帖数达上限了,这里补充下自己实现的ThreadLocal
先看下ThreadLocal的API
public void set(T value) 将值放入线程局部变量
public T get() 从线程局部变量获取值
public void remove() 从线程局部变量移除值,JVM垃圾回收
protected T initialValue() 返回线程局部变量中的初始值,默认为null
其实仔细想想,ThreadLocal其实就是封装了Map
废话不多说,上代码
public class MyThreadLocal<T>{
//Collections.synchronizedMap同步
private Map<Thread,T> container=Collections.synchronizedMap(new HashMap<Thread,T>());
//设置值
public void set(T value){
container.put(Thread.currentThread(),value);
}
//获取值
public T get(){
Thread thread=Thread.currentThread();
T value=container.get(thread);
if(value==null && !container.containsKey(thread)){
value=initialValue();
container.put(thread,value);
}
return value;
}
//移除
public void remove(){
container.remove(Thread.currentThread());
}
//默认值
protected T initialValue(){
return null;
}
}
手酸了~下次再写了...
查看原帖
点赞 评论
相关推荐
牛客热帖
更多
- 1... 28届实习拷打,一场面试,23个Agent问题1.0W
- 2... 我们为什么要做网申助手这个插件9361
- 3... 🔥牛客春招季🔥各公司春招&实习最新进展,这里实时更新!7572
- 4... 携程3.18Java开发一面面经5784
- 5... 找实习两个月,工具用了一堆,最后只留下这些5617
- 6... 字节ByteIntern剪映后端三面面经5354
- 7... 命运换了个赛道给我发牌3914
- 8... 小红书前端日常实习二面凉经3856
- 9... 面试官视角聊聊:如何通过AI coding面试?附焚决3829
- 10... 小红书暑期一面3464
正在热议
更多
# 跟HR说什么能被秒回? #
10646次浏览 183人参与
# 职能管理面试记录 #
9351次浏览 45人参与
# MiniMax求职进展汇总 #
16338次浏览 243人参与
# 春招/暑实第一面是哪家? #
21826次浏览 241人参与
# OPPO求职进展汇总 #
790413次浏览 5420人参与
# 你收到了哪些公司的笔试? #
19893次浏览 112人参与
# 巨人网络春招 #
10330次浏览 164人参与
# 正在春招的你,也参与了去年秋招吗? #
359518次浏览 2612人参与
# 一人说一个提前实习的好处 #
115346次浏览 704人参与
# 京东美团大战,你怎么看? #
174506次浏览 883人参与
# 京东开奖 #
673862次浏览 3238人参与
# 如何一边实习一边找下家? #
34314次浏览 247人参与
# 面试官最爱问的 AI 问题是...... #
18249次浏览 615人参与
# 你的嫡系AI是哪个? #
4934次浏览 119人参与
# 现在入门AI应该走哪些方向? #
4987次浏览 101人参与
# 把自己当AI,现在最消耗你token的问题是什么? #
3457次浏览 95人参与
# 想给25届机械人的秋招建议 #
46233次浏览 247人参与
# 26届秋招公司红黑榜 #
80466次浏览 280人参与
# 阿里巴巴工作体验 #
27053次浏览 61人参与
# 实习生如何通过转正 #
130140次浏览 1477人参与
# 巨人网络工作体验 #
74287次浏览 505人参与
# 巨人网络求职进展汇总 #
190826次浏览 1228人参与
