java hashmap非线程安全

理解和讨论HashMap的线程安全

(2010-06-22 23:00:42)
标签:

cache

杂谈

分类: 技术

原贴地址:http://www.javaeye.com/topic/656670

发这个帖子是想深入了解在多线程环境下操作HashMap引发的问题,探讨在某些特定的多线程环境下是不是能直接使用HashMap?在哪些特定的并发环境下能否正常使用呢?

 

   众所周知HashMap不是线程安全的,但到底HashMap在什么情况才不是线程安全的? 查看HashMap的源码,内部有一个modCount变量,在put、remove、等等进行结构性修改时改变这个值。在Hash Iterator中记录expectedModCount变量,在遍历或者删除时比较modCount与expectedModCount的值是否相等,不相等就抛出ConcurrentModificationException,类似一种乐观所的机制,

原文地址:https://www.cnblogs.com/lexus/p/2312402.html