package com.zxt.basic.util;
import java.util.HashMap;
import java.util.Map;
/**
*
*
* 类名称:ThreadParameter
* 类描述: 线程局部变量工具类,为每一个使用该变量的线程都提供一个变量值的副本
* 创建人:chenly
* 创建时间:May 17, 2012 12:20:45 PM
* 修改人:
* 修改时间:May 17, 2012 12:20:45 PM
* 修改备注:
* @version 1.0.0
*
*/
public class ThreadParameter {
/**
* 初始化线程局部变量,重写initialValue方法
*/
private static final ThreadLocal threadLocal = new ThreadLocal(){
/**
* 保存线程变量的容器
*/
private Map map;
protected Object initialValue(){
map = new HashMap();
return map;
}
};
/**
*
* @author chenly
* set 设置变量
* @param key 要保存的变量的键
*@param value 要保存的值
* @exception
* @since 1.0.0
*/
public static void set(String key, Object value){
Map map = (Map)threadLocal.get();
map.put(key, value);
}
/**
*
* @author chenly
* get 返回变量
* @param key 查询变量的键
* @return Object
* @exception
* @since 1.0.0
*/
public static Object get(String key){
Map map = (Map)threadLocal.get();
return map.get(key);
}
/**
*
* @author chenly
* remove 清除变量
* @exception
* @since 1.0.0
*/
public static void remove(){
Map map = (Map)threadLocal.get();
map.clear();
threadLocal.set(map);
}
}