ThreadLocal 提供线程局部变量

ThreadLocal作用

  • 相当于建立一个独立的空间,可以把使用频率高的任何类型的数据放到里面,方便调用
  • 用来存取数据:set()/get()
  • 使用ThreadLocal存储的数据,线程安全

ThreadLocal工具类

/**
 * ThreadLocal 工具类
 */
@SuppressWarnings("all")
public class ThreadLocalUtil {
    //提供ThreadLocal对象,
    private static final ThreadLocal THREAD_LOCAL = new ThreadLocal();

    //根据键获取值
    public static  T get(){
        return (T) THREAD_LOCAL.get();
    }
	
    //存储键值对
    public static void set(Object value){
        THREAD_LOCAL.set(value);
    }


    //清除ThreadLocal ,防止内存泄漏
    public static void remove(){
        THREAD_LOCAL.remove();
    }
}

使用方法

//将name存到ThreadLocal中
ThreadLocalUtil.set(name);

//从ThreadLocal中取数据
ThreadLocalUtil.get();


//数据不能一直存在ThreadLocal中,防止内存泄漏
//清空ThreadLocal中的数据
ThreadLocalUtil.remove();

你可能感兴趣的:(java,开发语言)