src/main/java/com/zx/maintain/util/ThreadLocalUtil.java
(完整代码) 1KBpackage com.zx.maintain.util;
import java.util.HashMap;
import java.util.Map;
/**
* ThreadLocal工具类,可以动态创建ThreadLocal对象
*
* @author wangxj
*/
public class ThreadLocalUtil {
@SuppressWarnings("unchecked")
private static Map<String, ThreadLocal> tlMap = new HashMap<String, ThreadLocal>();
/**
* 获取key为region的ThreadLocal对象,如果不存在,会新创建一个;valueType为ThreadLocal的值类型
*
* @param region
* @param valueType
* @return
*/
@SuppressWarnings("unchecked")
public static <T> ThreadLocal<T> getRegion(String region, Class<T> valueType) {
ThreadLocal<T> tl = tlMap.get(region);
if (tl == null) {
tl = addRegion(region, valueType);
}
return tl;
}
/**
* 创建key为region的ThreadLocal对象,valueType为ThreadLocal的值类型
*
* @param region
* @param valueType
* @return
*/
@SuppressWarnings("unchecked")
private static synchronized <T> ThreadLocal<T> addRegion(String region, Class<T> valueType) {
ThreadLocal<T> tl = tlMap.get(region);
if (tl == null) {
tl = new ThreadLocal();
tlMap.put(region, tl);
}
return tl;
}
}
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
