请告诉我如何在java中设置ConcurrentHashMap的并发级别?如果级别设置得太高或太低会有什么影响?它的内部是如何运作的?
最佳答案
ConcurrentHashMap 构造函数
public ConcurrentHashMap(int initialCapacity,
float loadFactor, int concurrencyLevel) {
您可以根据需要很好地定义并发级别。 关于你的第二个问题。 这是 ConncurrentHashMap (java 1.6) 的 javadoc 注释
* Ideally, you should choose a value to accommodate as many
* threads as will ever concurrently modify the table. Using a
* significantly higher value than you need can waste space and time,
* and a significantly lower value can lead to thread contention.
因此,理想情况下,如果您不知道 map 可能有多大或将有多少线程访问 map 等信息,最好使用并发的默认值(当前为 16)。
希望有帮助!
关于java - 如何在java中设置concurrentHashMap的并发级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17393588/