Possiamo usare hashmap in un ambiente multithread?

Sommario:

Possiamo usare hashmap in un ambiente multithread?
Possiamo usare hashmap in un ambiente multithread?
Anonim

Cosa c'è di sbagliato nell'usare HashMap in un ambiente multithread? … È un problema se più thread vengono aggiunti alla stessa istanza HashMap senza sincronizzata. Anche se solo 1 thread sta modificando una HashMap e altri thread stanno leggendo dalla stessa mappa senza sincronizzazione, incontrerai problemi.

Puoi usare una HashMap in un ambiente multithread?

Devi assicurarti: Tutti gli aggiornamenti alla HashMap sono stati completati prima che i thread vengano istanziati e che anche il thread che crea la mappa crei il fork dei thread. I thread usano solo HashMap in modalità di sola lettura – o get o iterazione senza rimozione. Non ci sono discussioni che aggiornano la mappa.

Perché HashMap non dovrebbe essere utilizzato in un ambiente multithread può causare anche un ciclo infinito?

La capacità predefinita di HashMap è 16 e il fattore di carico è 0,75, il che significa che HashMap raddoppierà la sua capacità quando la dodicesima coppia chiave-valore entra nella mappa (160,75=12). Quando 2 thread tentano di accedere a HashMap contemporaneamente, potresti incontrare un loop infinito. Il thread 1 e il thread 2 tentano di inserire la dodicesima coppia chiave-valore.

HashMap è sicuro per i thread?

HashMap non è sincronizzato. Non è thread-safe e non può essere condiviso tra molti thread senza un codice di sincronizzazione appropriato mentre Hashtable è sincronizzato.

Cosa è più adatto al multithreadambiente?

La risposta è "ConcurrentHashMap"

Consigliato:

Articoli interessanti
Perché si chiamano apicoltori?
Leggi di più

Perché si chiamano apicoltori?

Etimologia. Il primo utilizzo noto della parola "apiario" risale al 1654. La base della parola deriva dalla parola latina "apis" che significa "ape", che porta a "apiarium" o "apiario" e infine "

Quando è nata Manisha Koirala?
Leggi di più

Quando è nata Manisha Koirala?

Manisha Koirala è un'attrice nepalese nota per il suo lavoro nei film indiani. Una delle attrici di maggior successo e acclamate dalla critica negli anni '90 e nei primi anni 2000, nota per i suoi lavori sia nel cinema commerciale che in quello d'essai, ha ricevuto numerosi riconoscimenti, tra cui quattro Filmfare Awards.

Il 1 2 4-trimetilbenzene è tossico?
Leggi di più

Il 1 2 4-trimetilbenzene è tossico?

Respirare alti livelli di 1, 2, 4-trimetilbenzene per brevi periodi colpisce il sistema nervoso, causando mal di testa, stanchezza, sonnolenza o vertigini. Il vapore di 1, 2, 4-trimetilbenzene irrita naso, gola e polmoni, provocando tosse, respiro sibilante e/o respiro corto.