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

猜你喜欢
日产轩逸刹车刹不住怎么办

日产轩逸刹车刹不住怎么办

12-20 0 阅读
想知道威固隐形车衣有哪些系列?

想知道威固隐形车衣有哪些系列?

12-02 0 阅读
把心情拿出来晒晒是啥歌

把心情拿出来晒晒是啥歌

03-17 0 阅读
高中生学籍号查询网站(高中学籍号查询官方网站)

高中生学籍号查询网站(高中学籍号查询官方网站)

07-06 0 阅读
沸水消毒多少分钟

沸水消毒多少分钟

09-05 0 阅读
中国的湖泊有哪些

中国的湖泊有哪些

09-06 0 阅读
热门推荐
世界各国阅兵式对比视频(世界各国阅兵式)

世界各国阅兵式对比视频(世界各国阅兵式)

01-03 0 阅读
眼睛近视了怎样才能恢复200度(眼睛近视了怎样才能恢复)

眼睛近视了怎样才能恢复200度(眼睛近视了怎样才能恢复)

01-03 0 阅读
日产轩逸刹车刹不住怎么办

日产轩逸刹车刹不住怎么办

12-20 0 阅读
想知道威固隐形车衣有哪些系列?

想知道威固隐形车衣有哪些系列?

12-02 0 阅读
赵泰来(关于赵泰来的基本详情介绍)

赵泰来(关于赵泰来的基本详情介绍)

12-31 0 阅读
史纳莎飞马造型图(史纳莎)

史纳莎飞马造型图(史纳莎)

01-02 0 阅读
房产增值税如何征收(关于房产增值税如何征收的基本详情介绍)

房产增值税如何征收(关于房产增值税如何征收的基本详情介绍)

01-02 0 阅读
新闻写作基础与范例(关于新闻写作基础与范例的简介)

新闻写作基础与范例(关于新闻写作基础与范例的简介)

01-01 0 阅读
什么是罗马柱 罗马柱有多少种类(什么是罗马柱)

什么是罗马柱 罗马柱有多少种类(什么是罗马柱)

01-04 0 阅读
把心情拿出来晒晒是啥歌

把心情拿出来晒晒是啥歌

03-17 0 阅读