概念图
ThreadLocal好处
- 存的是泛型
private static ThreadLocal<?> threadLocal = new ThreadLocal();
- 基本使用就 get() ,set(), remove()
synchronized与ThreadLocal区别
- 虽然ThreadLocal模式与synchronized关键字都用于处理多线程并发访问变量问题,不过两者处理问题的角度和思路不同
代码小演示
- 演示类(参考一下即可)
ThreadLoca
l只能存一份数据
private static class UserThreadLocal {
private static ThreadLocal<UserLoginResp> adminLocalUser = new ThreadLocal<>();
public static void setAdminUser(UserLoginResp user) {
adminLocalUser.set(user);
}
public static UserLoginResp getAdminUser() {
return adminLocalUser.get();
}
public static void removeAdminUser() {
adminLocalUser.remove();
}
}