原理 segment继承ReentrantLock remove方法,链表中待删除元素之后的元素原样保留在新链表中,待删除元素之前的元素翻转了顺序加入到新链表中 remove方法未改变原始链表,所以不影响读操作 segment中表示元素个数的count、hashentry中value字段都被标注为volatile,保证了内存可见性。 size方法,先尝试不加锁,计算两次,若两次计算都失败,即modCount在计算前后的值不相同,则进行加锁累加各segment中count大小。 赞微海报分享
近期评论