首页 > 其他 > 详细

Hashtable与ConcurrentHashMap区别

时间:2016-09-01 14:45:03      阅读:301      评论:0      收藏:0      [点我收藏+]

Hashtable与ConcurrentHashMap区别

ConcurrentHashMap融合了hashtable和hashmap二者的优势。

hashtable是做了同步的,是线性安全的,(2)放入的value不能为空;(3)线程安全的,所有方法均用synchronized修饰

hashmap未考虑同步,是非线性安全的。(2)可以放入空值;(3)线程不安全;

所以hashmap在单线程情况下效率较高。hashtable在的多线程情况下,同步操作能保证程序执行的正确性。

 

ConcurrentHashMap和Hashtable的区别

Hashtable和ConcurrentHashMap有什么分别呢?它们都可以用于多线程的环境,但是当Hashtable的大小增加到一定的时候,性能会急剧下降,因为迭代时需要被锁定很长的时间。因为ConcurrentHashMap引入了分割(segmentation),不论它变得多么大,仅仅需要锁定map的某个部分,而其它的线程不需要等到迭代完成才能访问map。简而言之,在迭代的过程中,ConcurrentHashMap仅仅锁定map的某个部分,而Hashtable则会锁定整个map。

Hashtable与ConcurrentHashMap区别

原文:http://www.cnblogs.com/handsome1013/p/5829613.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!