Threadlocal的应用
1.每个线程都有一个THreadlocalMap类型的成员变量threadlocals,这个map容器的key就是我们的threadlocal,对应的value就是我们要保存的值
2.当执行set方法的时候,先获取当前线程对象,然后获取当前线程对象对应的ThreadlocalMap对象,并把当前线程对象作为key去存值;
3.执行get同理,
Threadlocal应用场景:
1.跨层传输数据,比如,当web层调用业务层再调用dao层时,传递的参数可以放在Threadlocal里,
2.线程间数据隔离的效果
3.可以存储事务信息
4.数据库连接,Session会话管理等,比如spring中的JDBC.connection就是用Threadlocal来实现的 。
浙公网安备 33010602011771号