在ConcurrentHashmap
(Java 8之前的版本)中,可以并发写入的线程数取决于段数或我们提供的并发级别?
答案 0 :(得分:0)
段数取决于并发级别。因此,最终取决于并发级别。默认情况下为16。因此,可以同时在地图上操作16个线程。
例如,如果并发级别为10,则意味着在任何给定时间点,Segment数组的大小将为10或大于10,以便10个线程可以并行写入映射。由于更新锁是存储桶锁(每个段一个锁),这意味着10个线程可以同时在映射上运行,因为它们试图在不同的段上运行。
参考:
https://medium.com/@itsromiljain/curious-case-of-concurrenthashmap-90249632d335