Per favore dimmi come impostare il livello di concorrenza in ConcurrentHashMap in java? Che impatto ha se il livello è impostato troppo alto o troppo basso? Come funziona internamente?
risposte:
2 per risposta № 1Costruttore ConcurrentHashMap
public ConcurrentHashMap(int initialCapacity,
float loadFactor, int concurrencyLevel) {
Puoi benissimo definire il livello di concorrenza come desiderato da te. Per quanto riguarda la tua seconda domanda. Ecco il commento javadoc di ConncurrentHashMap (java 1.6)
* 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.
Quindi, idealmente, se non sai cose come la mappa potrebbe diventare grande o il numero di thread che accederà alla mappa, meglio utilizzare i valori predefiniti di concorrenza (che è attualmente 16).
Spero che sia d'aiuto!