Kan vi bruke hashmap i flertrådsmiljø?

Innholdsfortegnelse:

Kan vi bruke hashmap i flertrådsmiljø?
Kan vi bruke hashmap i flertrådsmiljø?
Anonim

Hva er g alt å bruke HashMap i flertrådsmiljø? … Det er et problem hvis flere tråder legges til den samme HashMap-forekomsten uten atden blir synkronisert. Selv om bare én tråd endrer et HashMap og andre tråder leser fra det samme kartet uten synkronisering, vil du få problemer.

Kan du bruke et HashMap i et flertrådsmiljø?

Du må sørge for: Alle oppdateringene til HashMap er fullført før trådene blir instansiert og tråden som lager kartet deler også trådene. Trådene bruker bare HashMap i skrivebeskyttet modus – enten hent eller iterasjon uten fjerning. Det er ingen tråder som oppdaterer kartet.

Hvorfor HashMap ikke skal brukes i flertrådsmiljøer, kan det også forårsake en uendelig sløyfe?

Standardkapasiteten til HashMap er 16 og belastningsfaktoren er 0,75, noe som betyr at HashMap vil doble kapasiteten når det 12. nøkkel-verdi-paret kommer inn i kartet (160,75=12). Når 2 tråder prøver å få tilgang til HashMap samtidig, kan du støte på uendelig løkke. Tråd 1 og tråd 2 prøver å sette 12. nøkkelverdi-par.

Er HashMap-tråden trygg?

HashMap er ikke-synkronisert. Den er ikke trådsikker og kan ikke deles mellom mange tråder uten riktig synkroniseringskode, mens Hashtable er synkronisert.

Hva er best egnet for flertrådedemiljø?

Svaret er "ConcurrentHashMap"

Anbefalt: