ConcurrentHashMap的size原理
jdk1.7 ConcurrentHashMap的size原理
简而言之,累加各个segment的size,记为sum,统计两次,如果sum值相同且modnum(put,remove等都会进行加一
操作)不变,则返回,否则,加锁重新统计
jdk1.8 ConcurrentHashMap的size原理
每次put时,cas加一,操作的对象有BaseCount和CounterCell数组(其长度未必和map中table一样长)。
流程是先尝试对BaseCount进行cas加一,失败则通过Thread.prob
原创
2020-11-27 22:03:02 ·
427 阅读 ·
0 评论