Still explicit lock requires on ConcurrentHashMap put and get operations ?
Regards,
Chinnu
Still explicit lock requires on ConcurrentHashMap put and get operations ?
Regards,
Chinnu
ConcurrentHashMap 是普通 HashMap 的线程安全替代方案 - 因此不需要显式锁定。并发集合中的所有数据结构都使用这种方法。
ConcurrentHashMap 是线程安全的,不需要显式锁定。其上的所有操作都是线程安全的,但检索 ( get
) 操作不使用任何锁定,并且可能与更新操作 (put
和remove
) 重叠,从而反映最近完成的更新操作的结果。此外,对于任何更新操作,完整的 ConcurrentHashMap 也永远不会被锁定,而是锁定发生在桶(段)级别。
putIfAbsent
如果映射尚未包含指定的键,则该方法只需放置键值映射,等效于:
if (!map.containsKey(key))
return map.put(key, value);
else
return map.get(key);