From 29d97d6793fbc5767fe882e5a829c2f44fa027d6 Mon Sep 17 00:00:00 2001 From: lvxinran Date: Wed, 24 Jun 2020 20:26:44 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8C=82=E6=9C=BA=E4=BF=AE=E6=94=B9=E6=8F=90?= =?UTF-8?q?=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/ljsd/jieling/logic/fight/CombatLogic.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/CombatLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/CombatLogic.java index dc24abc9e..050cef351 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/CombatLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/fight/CombatLogic.java @@ -45,6 +45,7 @@ import util.StringUtil; import util.TimeUtils; import java.util.*; +import java.util.concurrent.ConcurrentHashMap; public class CombatLogic { private static final Logger LOGGER = LoggerFactory.getLogger(CombatLogic.class); @@ -989,7 +990,7 @@ public class CombatLogic { if(equipMap.isEmpty()) return equipMap; Map config = STableManager.getConfig(SEquipConfig.class); - Map tempMap = new HashMap<>(); + Map tempMap = new ConcurrentHashMap<>(); for(Map.Entry entry:equipMap.entrySet()) { tempMap.put(entry.getKey(),entry.getValue()); } @@ -997,10 +998,10 @@ public class CombatLogic { int count = 0; do { isOver = true; - Iterator it = equipMap.keySet().iterator(); + Iterator it = tempMap.keySet().iterator(); while(it.hasNext()){ int key = it.next(); - int value = equipMap.get(key); + int value = tempMap.get(key); SEquipConfig sEquipConfig = config.get(key); if(sEquipConfig==null) continue; @@ -1022,9 +1023,9 @@ public class CombatLogic { tempMap.put(createId,tempMap.getOrDefault(createId,0)+createCount); isOver = false; } - equipMap = tempMap; count++; }while(!isOver&&count<5); + equipMap = tempMap; return equipMap; } }