@Component public class HostHolder{ //每一个线程都有一份拷贝 理解成一个Map ThreadLocalMap<thread,User> private static ThreadLocal<User> users = new ThreadLocal<>();
public User getUser(){ return users.get();//默认从当前线程提取User对象 } public void setUsers(User user){ users.set(user);//set的时候默认把当前线程set到key中,引用类型User对象作为value. } public void clear(){ users.remove(); } }
本文介绍了一种利用ThreadLocal实现用户持有(session)的技术方案。通过定义HostHolder类,为每个线程提供独立的User对象副本,实现了线程间的数据隔离,并提供了设置、获取和清除用户会话的方法。

被折叠的 条评论
为什么被折叠?



