作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
重新散列会增加段数吗?还是在重新散列 CHM 时并发级别发生变化?
如果不是(很可能),那么为什么在 Java 中会出现这种行为,随着 CHM 中条目数量的增加,更多线程将访问同一段并且可能需要更高级别的并发性?
编辑:我想如果增加分段的功能被赋予,则需要锁定所有分段。是这个原因吗?
最佳答案
段的数量不会随着 ConcurrentHashMap 大小的增长而改变。可以访问集合的线程数不如访问映射的 Activity 线程数重要。如果你有 4 个核心,这最多是 4 个,即使他们所做的只是访问 map 而不做任何其他事情。这是一个极端的例子。
实际上,一次访问 map 的线程往往少于一个,有时有 2-4 个线程访问一个 map ,这在使用段时会有所帮助。
关于java - Java 中的 ConcurrentHashMap 中的重新散列会增加段数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6805119/
我是一名优秀的程序员,十分优秀!