如果ConcurrentHashMap
包含Map那么,内部值映射是否也表现为并发?以下是我的地图对象
ConcurrentHashMap<String, Map<String, Map<String, String>>> applicationDataMap =
new ConcurrentHashMap<>();
这里的变量声明仅使用Map
接口。你可以添加任何Map
,无论是否并发。如果您要求所有包含的映射都是并发的,则必须将它们声明为:
ConcurrentHashMap<String, ConcurrentHashMap<String, ConcurrentHashMap<String, String>>> applicationDataMap = new ConcurrentHashMap<>();
你可以把任何类型的Map
放在applicationDataMap
。
Ef。:
Map<String, String> innerInnerMap = new TreeMap<>();
Map<String, Map<String, String>> innerMap = new HashMap<>();
innerMap.put("innerKey", innerInnerMap);
applicationDataMap.put("key", innerMap);
没有什么可以保护这些内部映射不被多个线程同时访问。如果你想确保它们的有效性,你必须明确地处理它。