首页
hashmap为什么是线程不安全的
返回

hashmap为什么是线程不安全的

2022-12-20 数码极客 By:佚名
最佳答案演示机型:华为MateBook X 系统版本:win10 1、JDK1.7中,由于多线程对HashMap进行扩容,调用了HashMap,当某个线程执行过程中,被挂起,其他线程已经完成数据迁移,等CPU资源释放后被挂起的线程重新执行之前的逻辑,数据已经被改变,造成死循环、数据丢失。2、JDK1.8 中,由于多线程对HashMap进行p...

演示机型:华为MateBook X    系统版本:win10    

1、JDK1.7中,由于多线程对HashMap进行扩容,调用了HashMap,当某个线程执行过程中,被挂起,其他线程已经完成数据迁移,等CPU资源释放后被挂起的线程重新执行之前的逻辑,数据已经被改变,造成死循环、数据丢失。

2、JDK1.8 中,由于多线程对HashMap进行put操作,调用了HashMap,假设两个线程A、B都在进行put操作,并且hash函数计算出的插入下标是相同的,当线程A执行完第六行代码后由于时间片耗尽导致被挂起,而线程B得到时间片后在该下标处插入了元素,完成了正常的插入,然后线程A获得时间片,由于之前已经进行了hash碰撞的判断,所有此时不会再进行判断,而是直接进行插入,这就导致了线程B插入的数据被线程A覆盖了,从而线程不安全。

猜你喜欢
虎头汾黑瓷怎么开箱

虎头汾黑瓷怎么开箱

03-10 0 阅读
舌头白苔厚是什么原因吃什么药(舌头白苔厚是什么原因)

舌头白苔厚是什么原因吃什么药(舌头白苔厚是什么原因)

01-03 0 阅读
雏田和鸣人的感情历程(雏田和鸣人)

雏田和鸣人的感情历程(雏田和鸣人)

01-03 0 阅读
酷爱购物网(关于酷爱购物网的基本详情介绍)

酷爱购物网(关于酷爱购物网的基本详情介绍)

01-02 0 阅读
美测服云顶之弈通行证购买方法

美测服云顶之弈通行证购买方法

12-12 0 阅读
翠屏区美食

翠屏区美食

09-06 0 阅读
热门推荐
毕玉玺(关于毕玉玺的基本详情介绍)

毕玉玺(关于毕玉玺的基本详情介绍)

12-30 0 阅读
干扰素凝胶多少钱一盒(干扰发射器)

干扰素凝胶多少钱一盒(干扰发射器)

01-04 0 阅读
税负是什么意思(关于税负是什么意思的基本详情介绍)

税负是什么意思(关于税负是什么意思的基本详情介绍)

12-31 0 阅读
动画片的名字有一个绿色的圆形小人和黄色长方体脸上有雀斑的小人是一部1-3岁教育片

动画片的名字有一个绿色的圆形小人和黄色长方体脸上有雀斑的小人是一部1-3岁教育片

11-01 0 阅读
制造厂家工作巡查监督怎么解决时间成本问题?

制造厂家工作巡查监督怎么解决时间成本问题?

10-31 0 阅读
苹果手机序列号f开头什么意思(苹果手机序列号f开头指的是什么)

苹果手机序列号f开头什么意思(苹果手机序列号f开头指的是什么)

03-11 0 阅读
保存图片,不小心屏蔽了,现在都看不到图片了,怎么可以取消啊,在线求解

保存图片,不小心屏蔽了,现在都看不到图片了,怎么可以取消啊,在线求解

11-01 0 阅读
熟食有哪些食物

熟食有哪些食物

07-15 0 阅读
psp avi(关于psp avi的基本详情介绍)

psp avi(关于psp avi的基本详情介绍)

02-01 0 阅读
茶叶做枕头的正确方法(茶叶枕头的危害)

茶叶做枕头的正确方法(茶叶枕头的危害)

11-05 0 阅读