永发信息网

ThreadLocal一般用在哪些地方?有何用

答案:1  悬赏:20  手机版
解决时间 2021-02-07 05:53
ThreadLocal一般用在哪些地方?有何用
最佳答案
从如下8点来讲解一e69da5e887aa3231313335323631343130323136353331333361306361下:
1.ThreadLocal用来解决多线程程序的并发问题
2.ThreadLocal并不是一个Thread,而是Thread的局部变量,当使用ThreadLocal维护变量时,ThreadLocal为每个使用该变量的线程提供独立的变量副本,所以每个线程都
可以独立地改变自己的副本,而不会影响其它线程所对应的副本.
3.从线程的角度看,目标变量就象是线程的本地变量,这也是类名中“Local”所要表达的意思。
4.线程局部变量并不是Java的新发明,Java没有提供在语言级支持(语法上),而是变相地通过ThreadLocal的类提供支持.
5.ThreadLocal类中的方法:(JDK5版本之后支持泛型)
void set(T value)
将此线程局部变量的当前线程副本中的值设置为指定值
void remove()
移除此线程局部变量当前线程的值
protected T initialValue()
返回此线程局部变量的当前线程的“初始值”
T get()
返回此线程局部变量的当前线程副本中的值
6.ThreadLocal的原理:
ThreadLocal是如何做到为每一个线程维护变量的副本的呢?其实实现的思路很简单:在ThreadLocal类中有一个Map,用于存储每一个线程的变量副本,Map中元素
的键为线程对象,而值对应线程的变量副本
7.自己模拟ThreadLocal:
public class SimpleThreadLocal{
private Map valueMap=Collections.synchronizedMap(new HashMap());
public void set(Object newValue){
valueMap.put(Thread.currentThread(),newValue);//键为线程对象,值为本线程的变量副本
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
(6分)图甲、乙、丙、丁分别表示四株豌豆体
顺丰速运(九江武宁协和中学营业点)在哪里啊,
通过随机询问100名性别不同的小学生是否爱吃
网站的ICP备案号码需要多长时间才能申请下来
学英语发音有什么好用的app么
求小说名 女主和男主的妹妹是朋友
阅读材料,回答下列问题,(注意:在试题卷上
ONLY怎么去啊,有知道地址的么
脸上有痘痘,用痘疮净好吗??
东安社区卫生服务中心地址在什么地方,想过去
西安到千阳的汽车站在哪,几点发车?
98年属虎女孩配属什么的男孩子
伊利牛奶(东关大街)地址在哪,我要去那里办事
命令与征服2完全版+烈火风暴资料片完整版下载
听朋友说巴南区羊鹿山挺好玩的,是吗?
推荐资讯
我今天买了一个中国黄金的千足金戒指,戒指里
万润发生活购物广场曲梁店怎么去啊,有知道地
求初音未来2015上海演唱会第一首歌之前的BGM
葵城丽人地址在什么地方,我要处理点事
梦到茶水泼到右脚上
谁有美国插座的插孔标准尺寸,我要的是尺寸,
华纳音乐汇KTV地址在什么地方,我要处理点事
梵古时尚专业烫染店地址在哪,我要去那里办事
元素电影咖啡馆怎么去啊,有知道地址的么
时不时在村里走动,遇到邻居该怎样打招呼,然
羊肉搭配什么菜
在探究“馒头在口腔中的变化”时,进行了以下
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?