美文网首页
HashMap与ConcurrentHashMap的区别

HashMap与ConcurrentHashMap的区别

作者: 慕容小伟 | 来源:发表于2018-03-15 10:31 被阅读22次

    ConcurrentHashMap与HashTable都可以用于多线程的环境,但是当Hashtable的大小增加到一定的时候,性能会急剧下降,

    因为迭代时需要被锁定很长的时间。因为ConcurrentHashMap引入了分割(segmentation),不论它变得多么大,仅仅需要锁定map的

    某个部分,而其它的线程不需要等到迭代完成才能访问map。

    ConcurrentHashMap它引入了一个“分段锁”的概念,具体可以理解为把一个大的Map拆分成N个小的HashTable,根据key.hashCode()

    来决定把key放到哪个HashTable中。就是把Map分成了N个Segment,put和get的时候,都是现根据key.hashCode()算出放到哪个Segment中

    相关文章

      网友评论

          本文标题:HashMap与ConcurrentHashMap的区别

          本文链接:https://www.haomeiwen.com/subject/dticqftx.html