请选择时期:
怀孕准备 怀孕 分娩 宝宝0-1岁 宝宝1-3岁 宝宝3-6岁

hashmap为什么是线程不安全的(hashmap线程安全吗 什么解决方案)

来源: 最后更新:22-06-25 01:10:34

导读:最佳答案JDK1.7中,由于多线程对HashMap进行扩容,调用了HashMap,当某个线程执行过程中,被挂起,其他线程已经完成数据迁移,等CPU资源释放后被挂起的线程重新执行之前的逻辑,数据已经被改变,造成死循环、数据丢失。假设两个线程A、B都在进行put操作,此时不会再进行判断,而是直接进行插入,这就导致了线程B插入的数据被线程A覆盖了,从而线程不安全。

演示机型:华为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覆盖了,从而线程不安全。

标签: 线程  数据  不安全  

免责声明:本文系转载,版权归原作者所有;旨在传递信息,其原创性以及文中陈述文字和内容未经本站证实。

本文地址:http://www.zuomama.com/qiaomen/youxi/469561.html

  • 1淮安医保家庭共济可以在手机上办理吗?怎么办?

    淮安医保家庭共济可以在手机上办理吗?怎么办?

  • 2淮安未成年人办理出国护照需要哪些材料

    淮安未成年人办理出国护照需要哪些材料

  • 3淮安未成年人护照办理方式及流程 未成年办理护照需要什么证件

    淮安未成年人护照办理方式及流程 未成年办理护照需要什么证件

  • 4苏州建行生活APP满50减20餐饮券领取指南(时间+对象+规则)

    苏州建行生活APP满50减20餐饮券领取指南(时间+对象+规则)

  • 5苏州满16减15元早餐券领取时间 苏州满16减15元早餐券领取时间是多久

    苏州满16减15元早餐券领取时间 苏州满16减15元早餐券领取时间是多久

  • 6苏州满16减15元早餐券领取指南(苏州购物节红包)

    苏州满16减15元早餐券领取指南(苏州购物节红包)

  • 7苏州满16减15元早餐券领取入口 苏州优惠券在哪里领取

    苏州满16减15元早餐券领取入口 苏州优惠券在哪里领取

  • 8苏州满16减15元早餐券适用对象 苏州双12消费券

    苏州满16减15元早餐券适用对象 苏州双12消费券

  • 9苏州满11减10元商超专属券领取指南(苏宁易购10元无门槛优惠券无法领取)

    苏州满11减10元商超专属券领取指南(苏宁易购10元无门槛优惠券无法领取)

  • 10店方回应“89元番茄炖牛腩少得勺都进不去”:用料足够,放了一斤生牛肉

    店方回应“89元番茄炖牛腩少得勺都进不去”:用料足够,放了一斤生牛肉

关于我们 | 广告服务 | 网站合作 | 免责声明 | 联系我们| 网站地图

© 2006-2022 做妈妈育儿网 all rights reserved. 浙ICP备2022035435号-3

声明: 本站文章均来自互联网,不代表本站观点 如有异议 请与本站联系 联系邮箱:kf#zuomama.com (请把#替换成@)