ConcurrentHashMap尽可能减小锁粒度实现高并发的支持,在ConcurrentHashMap内部,默认将HashMap分成16段, 原后根据Hash算法将数据存入不同的段,每次向HashMap中存入数据时只需要锁住其中的一段,理论上,如果不是存入 同一段,可以支持16个线程同时存入数据。 但是ConcurrentHashMap如果执行size方法,则需要分别锁住所有的段进行统计,统计的效率将较底。
ConcurrentHashMap尽可能减小锁粒度实现高并发的支持,在ConcurrentHashMap内部,默认将HashMap分成16段, 原后根据Hash算法将数据存入不同的段,每次向HashMap中存入数据时只需要锁住其中的一段,理论上,如果不是存入 同一段,可以支持16个线程同时存入数据。 但是ConcurrentHashMap如果执行size方法,则需要分别锁住所有的段进行统计,统计的效率将较底。