摘要:
ThreadLocal使用场景:避免引起线程安全问题,比如多个线程访问类的静态域.具体的一个示例,比如线程上下文仅需要唯一标志的变量,比如调用需要的token或者请求生成的唯一的key.原理:内部定义一个HaspMap<String,Object>当往里面放数据时,先获得当前线程的名字:String name =Thread.currentThread().getName();然后往Map中放数据,map.put(name,o);当key值不一样即线程的名字不一样的时候,取不出数据.但是如果有两个线程我们通过改名来实现2个线程同名,那么也是取不出数据的,因为java内部已经将每个线 阅读全文