Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java中ConcurrentHashMap中的重置是否会增加段数?_Java_Concurrency - Fatal编程技术网

Java中ConcurrentHashMap中的重置是否会增加段数?

Java中ConcurrentHashMap中的重置是否会增加段数?,java,concurrency,Java,Concurrency,重新灰化是否会增加分段数?或者在重新设置CHM时并发级别是否会改变 如果不是(很可能),那么为什么java中会给出这种行为,因为CHM中的条目数量增加,更多的线程将访问同一段,并且可能需要更高级别的并发性 编辑:我想如果提供了分段增加功能,则需要锁定所有分段。这就是原因吗 片段的数量不会随着ConcurrentHashMap大小的增加而改变。可以访问集合的线程数不如访问映射的活动线程数重要。如果您有4个核心,这最多是4个,即使他们所做的只是访问地图而不做其他事情。这是一个极端的例子 实际上,一次

重新灰化是否会增加分段数?或者在重新设置CHM时并发级别是否会改变

如果不是(很可能),那么为什么java中会给出这种行为,因为CHM中的条目数量增加,更多的线程将访问同一段,并且可能需要更高级别的并发性


编辑:我想如果提供了分段增加功能,则需要锁定所有分段。这就是原因吗

片段的数量不会随着ConcurrentHashMap大小的增加而改变。可以访问集合的线程数不如访问映射的活动线程数重要。如果您有4个核心,这最多是4个,即使他们所做的只是访问地图而不做其他事情。这是一个极端的例子


实际上,一次访问一个映射的线程往往少于一个,有时2-4个线程访问一个映射,这在使用段时是有帮助的。

什么是“重新哈希?”简短回答:不,如果您需要一个真正并发的哈希映射,最好到别处看看。