zoukankan      html  css  js  c++  java
  • hashMap 的多线程安全问题 ConcurrentModificationException

    以HashMap为例,它不安全,什么叫不安全。简单理解就是多线程读写可能是脏数据,比如你在A线程读,B线程写了一个新数据,而A线程却不知道。可怕。。
    之前有一个奔溃是java.util.ConcurrentModificationException,就是线程不安全的操作,不过更专业的说法是快速失败。HashMap在读的过程中,如果写操作,jdk在处理这种情况是有一个判断的:
    即迭代器迭代,检测当前集合大小,如果大小不符合预期则抛出异常达到快速失败的效果。
    例如迭代器迭代开始时候是4个key,中间发现变成5个key,这时候迭代器直接失败抛出异常,因为它认为迭代中是读操作,至始至终都应该是不变的集合才能保障效果

  • 相关阅读:
    python 小兵(4)之文件操作 小问题
    python 小兵(4)之文件操作
    排序
    Java的数据结构
    基本数据操作
    部署tomcat到Linux
    找工作的一些知识积累
    BootStrap
    操作系统
    做Global Admin
  • 原文地址:https://www.cnblogs.com/aspirant/p/15710254.html
Copyright © 2011-2022 走看看