最近在 java 面试中有人问我这个问题。 我稍后尝试搜索它,但找不到确切的答案。 如果任何人有答案的链接,请告诉我。 所以这是我的问题:
ConcurrentHashMap 和 Hashtable 是同步的。 但是它在写操作期间使用哪种锁定机制而锁定。
最佳答案
开源的伟大之处在于您可以查找 the source code ! This bit尤其相关。
ConcurrentHashMap 中的并发性非常复杂 - 它将内容分解为 Segment
以避免锁定整个表,并使用 volatile
字段允许无锁并发阅读。
关于java - concurrentHashMap 和 hashtable 中使用的锁定机制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32667786/