Class ConcurrentEnumMap<K extends Enum<K>, V>
java.lang.Object
java.util.AbstractMap<K,V>
java.util.EnumMap<K,V>
tools.ConcurrentEnumMap<K,V>
- All Implemented Interfaces:
Serializable, Cloneable, Map<K,V>
public final class ConcurrentEnumMap<K extends Enum<K>, V>
extends EnumMap<K,V>
implements Serializable
以讀寫鎖保護的執行緒安全
EnumMap,供多執行緒並行存取 Enum 鍵的映射。
繼承自 EnumMap,以 ReentrantReadWriteLock
覆寫全部公開存取方法:讀取操作(get、containsKey、size 等)取讀鎖,
寫入操作(put、remove、clear 等)取寫鎖,允許多個讀者並行、
但寫者獨佔。
本類別在 TWMS v149 的並行重構中取代了部分使用 HashMap 的狀態容器,
例如 buff 狀態與技能冷卻等以 Enum 為鍵的映射。
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class AbstractMap
AbstractMap.SimpleEntry<K,V>, AbstractMap.SimpleImmutableEntry<K, V> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclear()clone()booleancontainsKey(Object key) booleancontainsValue(Object value) entrySet()booleankeySet()voidintsize()values()Methods inherited from class AbstractMap
isEmpty, toStringMethods inherited from interface Map
compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, putIfAbsent, remove, replace, replace, replaceAll
-
Constructor Details
-
ConcurrentEnumMap
-
-
Method Details
-
clear
-
clone
-
equals
-
containsKey
-
containsValue
-
entrySet
-
get
-
keySet
-
put
-
putAll
-
remove
-
size
-
values
-