关于ConcurrentHashMap,以下是什么意思?

时间:2013-07-17 14:58:25

标签: java map concurrency

直接来自ConcurrentHashMap javadocs

  

更新操作之间允许的并发性由   可选的concurrencyLevel构造函数参数(默认为16),即   用作内部尺寸的提示。该表是内部的   分区以尝试允许指示的并发数   没有争用的更新。因为哈希表中的位置是   基本上是随机的,实际的并发性会有所不同。

当他们说:“这用作内部尺寸的暗示”时,我不明白这一点。不应该通过容量而不是concurrencyLevel确定大小?

1 个答案:

答案 0 :(得分:2)

表是内部分区的 - 这意味着它们将表分成ConcurrencyLevel分区,希望它们能够在没有任何冲突的情况下进行多次并发更新。

不能保证散列数据会很好地落在这些分区中。