1.基础知识;
ThreadLocal是线程局部变量,它和普通变量的区别在于,每个线程持有这个变量的一个副本,可以独立修改(set方法)和访问(get方法)这个变量,并且线程之间不会发生冲突。
在类中定义ThreadLocal实例时,一般会被private static修饰,这样可以让ThreadLocal实例的状态和Thread绑定在一起;业务上,一般将ThreadLocal用来包装一些业务的ID(user ID或者事务ID)----不同的线程使用的ID是不同的