diff --git a/server/like-admin/src/main/java/com/mdd/admin/LikeAdminThreadLocal.java b/server/like-admin/src/main/java/com/mdd/admin/LikeAdminThreadLocal.java index f827b858e918ef16c52005593fc57a6a8e495034..f47121b2b164dc86820f0316c4a886f8190573dc 100644 --- a/server/like-admin/src/main/java/com/mdd/admin/LikeAdminThreadLocal.java +++ b/server/like-admin/src/main/java/com/mdd/admin/LikeAdminThreadLocal.java @@ -1,10 +1,11 @@ package com.mdd.admin; -import com.mdd.common.util.ArrayUtils; - import java.util.Collections; -import java.util.LinkedHashMap; import java.util.List; +import java.util.Map; +import java.util.concurrent.ConcurrentSkipListMap; + +import com.mdd.common.util.ArrayUtils; /** * 本地线程 @@ -19,20 +20,23 @@ public class LikeAdminThreadLocal { /** * 取得本地线程对象 */ - private static final java.lang.ThreadLocal> MY_LOCAL = new java.lang.ThreadLocal<>(); + private static final java.lang.ThreadLocal> MY_LOCAL = new java.lang.ThreadLocal<>(); - /** - * 写入本地线程 - */ - public static void put(String key, Object val) { - LinkedHashMap map = MY_LOCAL.get(); - if (map == null) { - map = new LinkedHashMap<>(); - } - - map.put(key, val); - MY_LOCAL.set(map); - } + /** + * 写入本地线程 + */ + public static void put(String key, Object val) { + Map map = MY_LOCAL.get(); + if (map == null) { + synchronized (MY_LOCAL) { + if (map == null) { + map = new ConcurrentSkipListMap<>(); + } + } + } + map.put(key, val); + MY_LOCAL.set(map); + } /** * 获取本地线程