构造函数TreadLocal<T>()
初始化initialValue(),由get触发
访问器get,set,get方法在TreadLocal中没有值的话会触发initialValue
回收remove()
initialValue由get触发。不get,不执行initialValue。
主线程getId1,new Thread的Id13。
set后,有值,不会用initialValue
先set,再remove,再get,会触发initialValue
API:
构造函数 ThreadLocal<T>()
初始化 initialValue()
访问器 get/set
回收 remove
当x.remove()把Main线程里面的set值去掉了,那么本来因为set值之后不走initialValue()方法这回就要走了
ThreadLocal的简单用法。不去get不会去触发intitialValue()这个方法
remove()方法介绍
看上去ThreadLocal<Long> x 是一个变量,但是当每个线程去访问这个变量时,每个线程自己都会在自己的线程中保留一份x的副本
ThreadLocal是线程本地变量,每个线程中都会保留ThreadLocal对象的副本
当调用ThreadLocal对象的set方法时,则initialValue方法将不被执行
不调用ThreadLocal的get()方法,则initialValue()方法也不执行,initialValue是一个延迟执行的方法
通过initialValue(){...}方法给ThreadLocal赋初始值
ThreadLocal 最简单使用示例
创建对象,调用get()方法
基础API 介绍