什么是 ThreadLocal ?
ThreadLocal并不是一个Thread,而是Thread的局部变量。当使用ThreadLocal维护变量时,ThreadLocal为每个使用该变量的线程提供独立的变量副本,所以每一个线程都可以独立的改变自己的副本,而不是影响其它线程所对应的副本。
ThreadLocal为每个线程提供单独一份存储空间,具有线程隔离的效果,只有在线程内才能获得对应的值,线程外则不能访问。
ThreadLocal常用方法:
- set(T value) 设置当前线程的线程局部变量值
- T get() 返回当前线程所对应的线程局部变量的值
为什么要使用 ThreadLocal ?
在实际开发过程中,有时候需要在不同的类中使用同一个数据,例如:在不同的类中获取到存储在session中的用户id,那么这个时候就可以通过ThreadLocal来获取同一个数据。
怎么使用 ThreadLocal ?
那么可以在 LoginCheckFilter