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