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来实现的 。

posted @ 2022-03-31 20:33  适时适言  阅读(201)  评论(0)    收藏  举报