HashMap为什么是线程不安全的?

1.多线程下进行put操作的时候导致的数据不一致。 当有多个线程进行put操作时,第一个线程已经计算完放值的桶索引坐标,此时轮到第二个线程,第二个线程成功地把记录插入到桶里面,然而两个线程计算出来的桶索引是一样的,然后第一个线程就会继续往原先的桶索引插值,就覆盖了第二个线程的记录。 2.可能因为resize(扩容)而引起死循环。 HashMap的扩容机制就是重新申请一个容量是当前的2倍的桶数组,然
相关文章
相关标签/搜索