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