ThreadLocal的使用
变量的值的共享可以使用public static 变量的形式,所有的线程都使用同一个static变量。
如果想实现每一个线程都有自己的共享变量该如何解决呢?JDk中提供的类是ThreadLocal正是解决这样的问题
类Threadlocal主要解决的就是每个线程绑定自己的值。可以将Threadlocal类比喻成全局存放数据的盒子。
盒子中可以存储每个线程的私有数据。
get()与null
验证线程变量的隔离性
虽然3个线程都向对象tl中set()数据值,但每个线程还是能取出自己的数据。
解决get()返回null的问题
继承ThreadLocal类覆盖intialValue()方法具有的初始值。
再次验证变量的隔离性
子线程和父线程各有各的值
类InheritableThreadLocal的使用
使用InheritableThreadLocal可以在子线程中取得父线程继承下来的值。