Ar concurrenthashmap put siūlai yra saugūs?

Turinys:

Ar concurrenthashmap put siūlai yra saugūs?
Ar concurrenthashmap put siūlai yra saugūs?
Anonim

Pagrindiniai „ConcurrentHashMap“taškai: „ConcurrentHashMap“klasė yra thread-safe, t. y. kelios gijos gali veikti viename objekte be jokių komplikacijų. … „ConcurrentHashMap“objektas yra padalintas į keletą segmentų pagal lygiagretumo lygį.

Ar tinka siūlams?

„MessageService“objektas yra veiksmingai nekintamas, nes jo būsena negali pasikeisti sukūrus. Taigi saugus siūlams. Be to, jei „MessageService“iš tikrųjų būtų kintama, bet kelios gijos turi tik skaitymo prieigą, ji taip pat yra saugi.

Ar ConcurrentHashMap dydis yra saugus gijai?

Class ConcurrentHashMap Maišos lentelė, palaikanti visišką gavimą ir aukštą tikėtiną naujinimų vienalaikiškumą. … Tačiau, nors visos operacijos yra saugios, gavimo operacijos neapima užrakinimo ir nėra jokios paramos užrakinti visą lentelę taip, kad būtų užkirstas kelias bet kokiai prieigai.

Ar „HashMap“yra saugus?

HashMap yra nesinchronizuotas. Jis neapsaugotas nuo gijų ir negali būti bendrinamas tarp daugelio gijų be tinkamo sinchronizavimo kodo, o „Hashtable“yra sinchronizuojama.

Kodėl „ConcurrentHashMap“yra saugus?

lygiagretus paketas, pvz., ConcurrentHashMap, CopyOnWriteArrayList ir kt., yra saugus gamtoje. Aukščiau esančiame kodo fragmente naudojame „Fail-Safe Iterator“. Taigi, net jei į Kolekciją įtraukiamas naujas elementasiteracija, tai nedaro išimties.

Rekomenduojamas: