ThreadLocal变量

什么是ThreadLocal变量?
ThreadLocal,很多地方叫做线程本地变量,也有些地方叫做线程本地存储,其实意思差不多。可能很多朋友都知道ThreadLocal为变量在每个线程中都创建了一个副本,那么每个线程可以访问自己内部的副本变量。
(1). 通过ThreadLocal创建的副本是存储在每个线程自己的threadLocals中的;
(2). 为何threadLocals的类型ThreadLocalMap的键值为ThreadLocal对象,因为每个线程中可有多个threadLocal变量,就像上面代码中的longLocal和stringLocal;
(3). 在进行get之前,必须先set,否则会报空指针异常;如果想在get之前不需要调用set就能正常访问的话,必须重写initialValue()方法。
最常见的ThreadLocal使用场景为 用来解决 数据库连接、Session管理等

上一篇:Maven常用指令


下一篇:BTREE与其它索引的优缺点对比