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

猜你喜欢
八村塁父母是哪里人

八村塁父母是哪里人

07-22 0 阅读
qq吞消息什么原因

qq吞消息什么原因

12-20 0 阅读
斜纹绿凤蝶中国亚种(关于斜纹绿凤蝶中国亚种的简介)

斜纹绿凤蝶中国亚种(关于斜纹绿凤蝶中国亚种的简介)

01-01 0 阅读
奥克斯战争(关于奥克斯战争的基本详情介绍)

奥克斯战争(关于奥克斯战争的基本详情介绍)

01-01 0 阅读
马血是什么颜色的?

马血是什么颜色的?

07-15 0 阅读
为什么毛毛虫会变成蝴蝶

为什么毛毛虫会变成蝴蝶

09-05 0 阅读
热门推荐
贝佳斯面膜怎么样(贝佳斯)

贝佳斯面膜怎么样(贝佳斯)

01-02 0 阅读
丰田卡罗拉锐放2022款报价及图片(卡罗拉1 2t和1 6l哪个好)

丰田卡罗拉锐放2022款报价及图片(卡罗拉1 2t和1 6l哪个好)

08-13 0 阅读
飞雪桌面日历免费版(关于飞雪桌面日历免费版的基本详情介绍)

飞雪桌面日历免费版(关于飞雪桌面日历免费版的基本详情介绍)

01-02 0 阅读
鹳雀楼在哪里(关于鹳雀楼在哪里的基本详情介绍)

鹳雀楼在哪里(关于鹳雀楼在哪里的基本详情介绍)

12-30 0 阅读
左耳突然听力下降,还会有嗡嗡响,是不是就是耳聋了?

左耳突然听力下降,还会有嗡嗡响,是不是就是耳聋了?

12-11 0 阅读
济南本硕连读报哪家?

济南本硕连读报哪家?

10-31 0 阅读
孩子上户口做亲子鉴定南通哪里做的比较正规?

孩子上户口做亲子鉴定南通哪里做的比较正规?

11-01 0 阅读
亚美尼亚是哪个国家分出来的

亚美尼亚是哪个国家分出来的

12-12 0 阅读
金融街购物中心(关于金融街购物中心的基本详情介绍)

金融街购物中心(关于金融街购物中心的基本详情介绍)

12-30 0 阅读
水银温度计(关于水银温度计的基本详情介绍)

水银温度计(关于水银温度计的基本详情介绍)

12-30 0 阅读