ThreadLocal维护变量
来源:5-4 线程不安全类与写法-1
![](http://img1.sycdn.imooc.com/user/5bffdd3d00010a4b09600960-100-100.jpg)
yukun2017
2018-07-14
ThreadLocal维护变量,为每一个变量的线程提供一个变量副本,变量副本被更改的话,会产生脏数据么。
写回答
5回答
-
星星993
2018-08-02
我觉得ThreadLocal维护变量一般不会用于修改,因为他只是维护了一个共享变量的一个副本,即使做了相应的修改但是不会将修改的结果刷新回主内存,也就是说ThreadLocal对维护变量的修改没有任何意义
00 -
yukun2017
提问者
2018-07-15
明白了,谢谢。
00 -
Jimin
2018-07-15
不是的,threadLocal里存储的只有当前线程可获取到,修改也是修改当前线程里的值,因此当前线程每次从threadLocal里取得值都肯定是最新的,别的线程取不到也改不了
00 -
yukun2017
提问者
2018-07-15
意思是当前线程维护的变量副本如果更改了,就会写回主内存,之后再同步到所有其他线程的变量副本么。
00 -
Jimin
2018-07-14
你好,这个当然不会,每一个线程里的变量准确的说都是内存里变量的副本,而通过threadlocal维护的变量副本,可以保证只有当前线程可读到可更改,因此任何操作对当前线程而言都是同步可见的,不会有脏数据一说。
00
相似问题