ThreadLocal:线程变量副本;为每个线程维护一个本地变量。丛拥空间换时间,它用于线程间的数据隔离,为每个使用该变量
的线程提供一个副本,每个线程都可以独立地改变自己的副本,而不会和其他线程的副本冲突。threadloal类找那个维护了一个map,用于存储每一个线程的变量副本,map中元素的键为线程对象,而值为对应的线程的变量副本。Threadlocal在spring中管理request作用域中的bean、事务、任务调度、aop等。spring中绝大部分bean都可以声明成singleton作用域,采用threadlocal进行封装,因此有状态的bean就能够以singleton的方式在多线程中正常工作了。
友情链接:深入研究java.lang.ThreadLocal类。