Java ThreadLocal类的使用

一、类ThreadLocal的使用
类ThreadLocal存储每一个线程的私有数据。
ThreadLocal:实现每一个线程都有自己的共享变量。

1.类ThreadLocal解决的是变量在不同线程间的隔离性,也就是不同线程拥有
自己的值,不同线程中的值是可以放入Threadlocal类中进行保存的。

方法get()与null问题:
Java ThreadLocal类的使用
Java ThreadLocal类的使用

通过代码来验证线程变量的隔离性
Java ThreadLocal类的使用
Java ThreadLocal类的使用
Java ThreadLocal类的使用
Java ThreadLocal类的使用
虽然三个线程都向t1对象中set()数据值,但每个线程还是能取出自己的数据。

下面验证数据的隔离性
Java ThreadLocal类的使用
Java ThreadLocal类的使用
Java ThreadLocal类的使用
Java ThreadLocal类的使用
在第一次调用Threadlocal类的get()方法返回值是null;

解决get()返回null问题
Java ThreadLocal类的使用
Java ThreadLocal类的使用
此案例仅仅是验证main线程有自己的值。

再次验证线程变量的隔离性
Java ThreadLocal类的使用
Java ThreadLocal类的使用
Java ThreadLocal类的使用
Java ThreadLocal类的使用
Java ThreadLocal类的使用
此时子线程与父线程各有各自所拥有的值。