Kan vi använda hashmap i flertrådsmiljö?

Innehållsförteckning:

Kan vi använda hashmap i flertrådsmiljö?
Kan vi använda hashmap i flertrådsmiljö?
Anonim

Vad är det för fel att använda HashMap i flertrådsmiljö? … Det är ett problem om flera trådar läggs till i samma HashMap-instans utan att den synkroniseras. Även om bara en tråd modifierar en HashMap och andra trådar läser från samma karta utan synkronisering kommer du stöta på problem.

Kan du använda en HashMap i en flertrådsmiljö?

Du måste se till: Alla uppdateringar av HashMap är klara innan trådarna instansieras och tråden som skapar kartan delar också upp trådarna. Trådarna använder bara HashMap i skrivskyddat läge – antingen get eller iteration utan borttagning. Det finns inga trådar som uppdaterar kartan.

Varför HashMap inte ska användas i flertrådsmiljö, kan det också orsaka en oändlig loop?

Standardkapaciteten för HashMap är 16 och belastningsfaktorn är 0,75, vilket innebär att HashMap kommer att fördubbla sin kapacitet när det 12:e nyckel-värdeparet kommer in i kartan (160,75=12). När två trådar försöker komma åt HashMap samtidigt, kan du stöta på oändlig loop. Tråd 1 och tråd 2 försöker sätta det 12:e nyckel-värdeparet.

Är HashMap-tråden säker?

HashMap är osynkroniserad. Det är inte trådsäkert och kan inte delas mellan många trådar utan korrekt synkroniseringskod medan Hashtable är synkroniserat.

Vad som passar bäst för flertrådadmiljö?

Svaret är "ConcurrentHashMap"

Rekommenderad:

Intressanta artiklar
Var hårtransplantation för evigt?
Läs mer

Var hårtransplantation för evigt?

Hårtransplantation - ibland kallad hårrestaurering - är en poliklinisk procedur som använder mikrotransplantationsteknik för att donera dina egna hårsäckar till andra delar av din hårbotten som blir tunnare. Resultaten av en hårtransplantation är synbart långvariga och anses vara permanent.

Vilken skådespelare från Hoosiers tog livet av sig?
Läs mer

Vilken skådespelare från Hoosiers tog livet av sig?

Kent Poole, en Hoosier hela sitt liv, spelade en roll i filmen om basket, drömmar och uthållighet, men hans eget liv slutade i tragedi när han begick självmord i 2003. Han gjorde sitt första tv-framträdande 1954 och medverkade i två filmer med James Dean, Rebel Without a Cause (1955) och Giant (1956).

Vad är lammforskning?
Läs mer

Vad är lammforskning?

Lam Research Corporation är en USA-baserad global leverantör av wafertillverkningsutrustning och relaterade tjänster till halvledarindustrin. Dess produkter används främst i front-end wafer-bearbetning, vilket innefattar stegen som skapar de aktiva komponenterna i halvledarenheter och deras ledningar.