Môžeme použiť hashmap vo viacvláknovom prostredí?

Obsah:

Môžeme použiť hashmap vo viacvláknovom prostredí?
Môžeme použiť hashmap vo viacvláknovom prostredí?
Anonim

Čo je zlé pri používaní HashMap vo viacvláknovom prostredí? … Je problém, ak sa do tej istej inštancie HashMap pridáva viacero vlákien bez toho, abybola synchronizovaná. Aj keď len jedno vlákno upravuje HashMap a ďalšie vlákna čítajú z tej istej mapy bez synchronizácie, narazíte na problémy.

Môžete použiť HashMap v prostredí s viacerými vláknami?

Musíte sa uistiť: Všetky aktualizácie HashMap sú dokončené skôr, ako sa vytvorí inštancia vlákien a vlákno, ktoré vytvára mapu, tiež rozdelí vlákna. Vlákna používajú HashMap iba v režime iba na čítanie – buď získať alebo opakovať bez odstránenia. Mapu neaktualizujú žiadne vlákna.

Prečo by sa HashMap nemal používať vo viacvláknovom prostredí, môže to tiež spôsobiť nekonečnú slučku?

Predvolená kapacita HashMap je 16 a faktor zaťaženia je 0,75, čo znamená, že HashMap zdvojnásobí svoju kapacitu, keď do mapy vstúpi 12. pár kľúč – hodnota (160,75=12). Keď sa 2 vlákna pokúsia o prístup k HashMap súčasne, môžete naraziť na nekonečnú slučku. Vlákno 1 a Vlákno 2 sa pokúšajú vložiť 12. pár kľúč – hodnota.

Je HashMap get thread bezpečný?

HashMap nie je synchronizovaná. Nie je bezpečný pre vlákna a nemôže byť zdieľaný medzi mnohými vláknami bez správneho synchronizačného kódu, zatiaľ čo Hashtable je synchronizovaný.

Čo je najvhodnejšie pre viacvláknovéprostredie?

Odpoveď je "ConcurrentHashMap"

Odporúča:

Zaujímavé články
Ktorá prípona znamená uvoľnenie deštrukcie separácie?
Čítaj viac

Ktorá prípona znamená uvoľnenie deštrukcie separácie?

Ktorá prípona znamená oddelenie; zničenie; uvoľnenie. -lysis. Prípona -megaly znamená. Má Gastr algia a Gastr O dynia rovnaký význam? Gastr/algia a gastr/o/dynia majú rovnaký význam. My/algia je chirurgický zákrok. Gastr/o/rrhexis je prasknutie žalúdka.

Bude herpes vyliečiteľný?
Čítaj viac

Bude herpes vyliečiteľný?

Dá sa herpes vyliečiť? Na herpes neexistuje žiadny liek. Existujú však lieky, ktoré môžu prepuknutiu choroby zabrániť alebo ju skrátiť. Jeden z týchto liekov proti herpesu sa môže užívať denne a znižuje pravdepodobnosť, že infekciu prenesiete na svojho sexuálneho partnera (partnerov).

Ovplyvnila renesancia modernú spoločnosť?
Čítaj viac

Ovplyvnila renesancia modernú spoločnosť?

Viacerí autori z obdobia renesancie mali významný vplyv na súčasnú americkú spoločnosť, najmä z hľadiska literárneho štýlu a významu, ako aj politického myslenia. Zavedením nového realizmu umožnili bežnému človeku vychutnať si rozprávky a táto tradícia pokračuje aj v dnešnej spoločnosti.