hashmap,hashtable,concurrenthashmap多线程下的比较(持续更新)
Posted 侧耳倾听的世界
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hashmap,hashtable,concurrenthashmap多线程下的比较(持续更新)相关的知识,希望对你有一定的参考价值。
1.hashMap 多线程下put会造成死循环,主要是扩容时transfer方法会造成死循环。
http://blog.csdn.net/zhuqiuhui/article/details/51849692(具体原因)
2.hashTable,使用synchornized保证线程安全,线程竞争竞争激烈的情况下,效率低下。当一下线程访问hashTable方法的时候,其他的线程会进入轮询或者阻塞的情况。
如果线程1是用put方法添加元素,线程2不能put元素也不能get元素,所以竞争越激烈越低。
3.concurrentHashmap
使用锁分段技术,假设容器对数据进行分段,每一段都加入分配一把锁,当一个线程赵勇锁访问其中一个段数据的时候,其他的数据段也能被访问。
以上是关于hashmap,hashtable,concurrenthashmap多线程下的比较(持续更新)的主要内容,如果未能解决你的问题,请参考以下文章