用于不同线程下存储共享的数据变量,线程开启时接收当前的共享变量,其他线程开启时也可以接收,他们之间不会影响并且该threadLocal会作用在整个线程生命之间,也就意味着无论线程执行到哪一个代码类都能获取到存储的属性,相当于线程创建的属性,可用在该线程所要执行的任何对象的方法上获取,如前端请求开启线程-》controller-》service-》dao都是线程要执行的地方,而线程开启时创建了过Threadlocal则后继的执行的类区域都能获取到线程的ThreadLocal的存储对象,而且线程与线程之间不会干扰,如在拦截器里拦截请求获取前端的参数值放入该拦截器的ThreadLocal中,在并发的时候,每个开启的线程都会执行到各自的拦截器创建各自的threadLocal,接收前端相同的变量,到线程内部时这个变量在多线程中互不干扰,同一个线程上下文可以任何类内的任何方法获取。
相关推荐
昙鱼1 分钟前
springboot创建web项目eternal__day1 分钟前
数据结构(哈希表(中)纯概念版)天之涯上上6 分钟前
JAVA开发 在 Spring Boot 中集成 Swagger2402_857583497 分钟前
“协同过滤技术实战”:网上书城系统的设计与实现白宇横流学长8 分钟前
基于SpringBoot的停车场管理系统设计与实现【源码+文档+部署讲解】APP 肖提莫11 分钟前
MyBatis-Plus分页拦截器,源码的重构(重构total总数的计算逻辑)kirito学长-Java13 分钟前
springboot/ssm太原学院商铺管理系统Java代码编写web在线购物商城爱学习的白杨树14 分钟前
MyBatis的一级、二级缓存Code成立24 分钟前
《Java核心技术I》Swing的网格包布局中草药z30 分钟前
【Spring】深入解析 Spring 原理:Bean 的多方面剖析(源码阅读)