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 a7affdd5..7be25e6f 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 @@ -3,8 +3,9 @@ package com.mdd.admin; import com.mdd.common.util.ListUtils; import java.util.Collections; -import java.util.LinkedHashMap; import java.util.List; +import java.util.Map; +import java.util.concurrent.ConcurrentSkipListMap; /** * 本地线程 @@ -19,17 +20,18 @@ 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(); + Map map = MY_LOCAL.get(); if (map == null) { - map = new LinkedHashMap<>(); + synchronized (MY_LOCAL) { + map = new ConcurrentSkipListMap<>(); + } } - map.put(key, val); MY_LOCAL.set(map); } diff --git a/server/like-front/src/main/java/com/mdd/front/LikeFrontThreadLocal.java b/server/like-front/src/main/java/com/mdd/front/LikeFrontThreadLocal.java index f1e47fdd..f3bc2d8c 100644 --- a/server/like-front/src/main/java/com/mdd/front/LikeFrontThreadLocal.java +++ b/server/like-front/src/main/java/com/mdd/front/LikeFrontThreadLocal.java @@ -1,7 +1,7 @@ package com.mdd.front; -import java.util.LinkedHashMap; import java.util.Map; +import java.util.concurrent.ConcurrentSkipListMap; public class LikeFrontThreadLocal { @@ -13,17 +13,18 @@ public class LikeFrontThreadLocal { /** * 取得本地线程对象 */ - 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(); + Map map = MY_LOCAL.get(); if (map == null) { - map = new LinkedHashMap<>(); + synchronized (MY_LOCAL) { + map = new ConcurrentSkipListMap<>(); + } } - map.put(key, val); MY_LOCAL.set(map); }