ThreadLocal实例:存储线程数据

 ThreadLocal一般用于某一个线程会话中,用来存储当前线程的数据

记录工具类,如下:


/**
 * 本地线程工具类
 */
public class ThreadCache {
    
    /** 本地线程实例 */
    private static final ThreadLocal<ThreadContext> THREAD_CACHE = new ThreadLocal<ThreadContext>() {
        @Override
        protected ThreadContext initialValue() {
            return new ThreadContext();
        }
    };

    /**
     *  内部类: 存储信息
     */
    private static class ThreadContext {
        /**  定义属性. */
        String userName;
        ……
    }

    /**
     *   存储示例
     */
    public void setUserName(String userName){
        THREAD_CACHE.get().userName = userName;
    }

    /**
     *   取值示例
     */
    public String getUserName(){
        return THREAD_CACHE.get().userName;
    }

    /**
     *  释放本地线程
     */
    public static void release() {
        THREAD_CACHE.remove();
    }

}

猜你喜欢

转载自blog.csdn.net/LLLLLiSHI/article/details/88072050