我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:2019年全年资料内部公开36码 > 强一致性 >

concurrentHashMap是线程安全且强一致性的吗

归档日期:08-04       文本归类:强一致性      文章编辑:爱尚语录

  单独的读写操作(get,put,putIfAbsent...)是完全线程安全且一致的,但是迭代时候则不是强一致的,迭代所遍历的不是迭代时刻的快照,而是各个segement的真是数据,所以迭代期间如有数据发生变更,如果变更的是已经遍历的segement则迭代过程不再感知这个变化,但如果变化发生在未遍历的segement,则本次迭代会感知到这个元素。另外一个基本常识,任意的组合操作,比如先get, 然后put,则不能保证强一致。此外这个类还有个特点,迭代过程中即使元素被修改,也不会抛出异常,其他一些集合则会抛出ConcurrentModificationException

本文链接:http://ravynhart.com/qiangyizhixing/476.html