首页
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覆盖了,从而线程不安全。

猜你喜欢
麻城一中网(关于麻城一中网的基本详情介绍)

麻城一中网(关于麻城一中网的基本详情介绍)

01-02 0 阅读
博物馆奇妙之夜电影(博物馆奇妙之夜2)

博物馆奇妙之夜电影(博物馆奇妙之夜2)

01-03 0 阅读
晋江市打城戏传承协会(关于晋江市打城戏传承协会的简介)

晋江市打城戏传承协会(关于晋江市打城戏传承协会的简介)

01-01 0 阅读
什么的便利填词语

什么的便利填词语

11-09 0 阅读
殷剑(关于殷剑的基本详情介绍)

殷剑(关于殷剑的基本详情介绍)

01-02 0 阅读
武林秘籍是什么生肖

武林秘籍是什么生肖

09-08 0 阅读
热门推荐
krisallen(关于krisallen的基本详情介绍)

krisallen(关于krisallen的基本详情介绍)

01-02 0 阅读
名邦中央公馆房价(mingban)

名邦中央公馆房价(mingban)

12-30 0 阅读
本田点火开关寿命多久

本田点火开关寿命多久

12-29 0 阅读
徐东升(关于徐东升的基本详情介绍)

徐东升(关于徐东升的基本详情介绍)

01-01 0 阅读
汽车座套上牙边怎么拆下来

汽车座套上牙边怎么拆下来

12-12 0 阅读
dnf破招怎么抓(dnf破招怎么打)

dnf破招怎么抓(dnf破招怎么打)

01-02 0 阅读
爱情的孩子(关于爱情的孩子的基本详情介绍)

爱情的孩子(关于爱情的孩子的基本详情介绍)

01-02 0 阅读
星巴克 京广中心店(关于星巴克 京广中心店的简介)

星巴克 京广中心店(关于星巴克 京广中心店的简介)

12-31 0 阅读
萨瓦尼尼(关于萨瓦尼尼的基本详情介绍)

萨瓦尼尼(关于萨瓦尼尼的基本详情介绍)

12-30 0 阅读
社会现象分析题解题技巧(社会现象分析)

社会现象分析题解题技巧(社会现象分析)

01-04 0 阅读