Můžeme použít hashmap ve vícevláknovém prostředí?

Obsah:

Můžeme použít hashmap ve vícevláknovém prostředí?
Můžeme použít hashmap ve vícevláknovém prostředí?
Anonim

Co je špatného při používání HashMap ve vícevláknovém prostředí? … Je problém, pokud se do stejné instance HashMap přidává více vláken, aniž by byla synchronizována. I když jen 1 vlákno upravuje HashMap a další vlákna čtou ze stejné mapy bez synchronizace, narazíte na problémy.

Můžete použít HashMap ve vícevláknovém prostředí?

Musíte se ujistit: Všechny aktualizace HashMap jsou dokončeny před vytvořením instance vláken a vlákno, které vytváří mapu, také rozvětví vlákna. Vlákna používají HashMap pouze v režimu pouze pro čtení – buď získat, nebo opakovat bez odstranění. Neexistují žádná vlákna aktualizující mapu.

Proč by HashMap neměl být používán ve vícevláknovém prostředí, může také způsobit nekonečnou smyčku?

Výchozí kapacita HashMap je 16 a faktor zatížení je 0,75, což znamená, že HashMap zdvojnásobí svou kapacitu, když do mapy vstoupí 12. pár klíč-hodnota (160,75=12). Když se 2 vlákna pokusí o přístup k HashMap současně, můžete narazit na nekonečnou smyčku. Vlákno 1 a vlákno 2 se pokusí vložit 12. pár klíč–hodnota.

Je HashMap get thread bezpečný?

HashMap není synchronizován. Není bezpečný pro vlákna a nelze jej sdílet mezi mnoha vlákny bez správného synchronizačního kódu, zatímco Hashtable je synchronizován.

Co se nejlépe hodí pro vícevláknovéprostředí?

Odpověď je "ConcurrentHashMap"

Doporučuje:

Zajímavé články
Změní se koeficient statického tření?
Přečtěte si více

Změní se koeficient statického tření?

Koeficient statického a kinetického tření je konstantní pro konkrétní povrch . Na nakloněné rovině nakloněná rovina Třecí síla F f roviny na zatížení působí rovnoběžně s povrchem a je vždy ve směru opačném k pohybu předmětu. Je rovná se normálové síle vynásobené koeficientem statického tření μ mezi dvěma povrchy.

Mohou pomalá játra způsobit přibírání na váze?
Přečtěte si více

Mohou pomalá játra způsobit přibírání na váze?

A špatná funkce jater může způsobit nárůst hmotnosti, zejména v oblasti břicha. Když vaše játra nemohou účinně regulovat metabolismus tuků, může se v jaterních buňkách hromadit příliš mnoho tuků a vést ke ztučnění jater. Jaké jsou příznaky zpomalených jater?

Byl rok 2019 el nino?
Přečtěte si více

Byl rok 2019 el nino?

El Niño roku 2019 je oficiálně hotovo. Téměř průměrné podmínky v tropickém Pacifiku naznačují, že jsme se vrátili k ENSO-neutrálním podmínkám (není přítomen El Niño ani La Niña). Meteorologové nadále upřednostňují neutrální ENSO (50-55% pravděpodobnost) během zimy na severní polokouli.