我们都知道HashMap是不安全的,当高并发使用HashMap的get、put时,会导致CPU飙升。那么,更安全的HashTable呢?HashTable是线程安全的,每次调用它的get、put时,都会加锁,因此HashTable只能同时给一个线程调用,相对来说,效率比较低。
此时,我们可以考虑concurrentHashMap,jdk1.7版本用的分段加锁,支持多线程操作。1.8版本,ConcurrentHashMap采用CAS和synchronized方式处理并发。以put操作为例,CAS方式确定key的数组下标,synchronized保证链表节点的同步效果。
concurrentHashMap简介
最新推荐文章于 2024-10-18 13:02:57 发布