From 041a6addc185fd2ec948fb6e007cb9cced09646f Mon Sep 17 00:00:00 2001 From: jimin Date: Tue, 18 Jun 2019 11:04:29 +0800 Subject: [PATCH] [Dubbo-4323]fix use AtomicInteger instead of volatile to inc (#4324) Signed-off-by: slievrly --- .../org/apache/dubbo/cache/support/expiring/ExpiringMap.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/dubbo-filter/dubbo-filter-cache/src/main/java/org/apache/dubbo/cache/support/expiring/ExpiringMap.java b/dubbo-filter/dubbo-filter-cache/src/main/java/org/apache/dubbo/cache/support/expiring/ExpiringMap.java index 8f25c8d835..895f11408c 100644 --- a/dubbo-filter/dubbo-filter-cache/src/main/java/org/apache/dubbo/cache/support/expiring/ExpiringMap.java +++ b/dubbo-filter/dubbo-filter-cache/src/main/java/org/apache/dubbo/cache/support/expiring/ExpiringMap.java @@ -22,6 +22,7 @@ import java.util.List; import java.util.Map; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicLong; /** @@ -40,7 +41,7 @@ public class ExpiringMap implements Map { */ private static final int DEFAULT_EXPIRATION_INTERVAL = 1; - private static volatile int expireCount = 1; + private static AtomicInteger expireCount = new AtomicInteger(1); private final ConcurrentHashMap delegateMap; @@ -263,7 +264,7 @@ public class ExpiringMap implements Map { } public ExpireThread() { - expirerThread = new Thread(this, "ExpiryMapExpire-" + expireCount++); + expirerThread = new Thread(this, "ExpiryMapExpire-" + expireCount.getAndIncrement()); expirerThread.setDaemon(true); }