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();
    }

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值