ConcurrentHashMap是线程安全的,HashMap是线程不安全的。
同时ConcurrentHashMap提供的锁机制和Hashtable提供的锁机制有所不同,Hashtable提供的锁机制是锁整个hash表,而ConcurrentHashMap提供的锁机制是一次锁其中一个桶,ConcurrentHashMap默认的将hash表分为16个桶。
在迭代的时候,创建iterator后集合发生改变时,不会抛错,在集合发生改变时,iterator完成循环后将其头指针指向新的数据。
ConcurrentHashMap是线程安全的,HashMap是线程不安全的。
同时ConcurrentHashMap提供的锁机制和Hashtable提供的锁机制有所不同,Hashtable提供的锁机制是锁整个hash表,而ConcurrentHashMap提供的锁机制是一次锁其中一个桶,ConcurrentHashMap默认的将hash表分为16个桶。
在迭代的时候,创建iterator后集合发生改变时,不会抛错,在集合发生改变时,iterator完成循环后将其头指针指向新的数据。