hashmap线程不安全原因

目标

演示hashmap扩容过程中线程不安全的原因

演示

hashmap线程不安全问题由来已久,有很多介绍版本,此处通过图示的方式演示下

  1. 经典例子,散列表长度为2,3、7、5都位于tab[1]数组


    hashmap线程不安全原因_第1张图片
    image.png

2.进行扩容,线程一开始操作


hashmap线程不安全原因_第2张图片
image.png
  1. 线程二开始操作,此时线程一已挂起


    hashmap线程不安全原因_第3张图片
    image.png

经过如此操作,链表出现死循环情况.

你可能感兴趣的:(hashmap线程不安全原因)