子线程使用父线程RequestScope作用域Bean问题的探究
一、前言 最近我们组在做项目分层模块化项目调研,同组通元童鞋在调研ajdk8的多租户方案需要对每一个请求开启一个线程进行处理,然后就产生一个问题如何在开启的线程中不破坏使用习惯情况下使用请求线程里面的RequestScope作用域的bean,感觉这个问题比较有意思就研究并整理下一下,以便备忘,下面从最基础知识将起,一步步引入问题和解决方法 二、ThreadLocal原理 众所周知如果一个变量定义为了threadlocal变量,那么访问这个变量的每个线程都独有一个属于自己的变量,这变量值只有当前线程才能访问使用,各个线程直接相互不干扰,那原理究竟如何那? 2.1 ThreadLocal类 通常代码里面经常使用threadlocal的set和get方法,下面就讲解下这两个方法,首先set方法: public void set(T valu