Kas Vectori niit on Java-s ohutu?
Kas Vectori niit on Java-s ohutu?

Video: Kas Vectori niit on Java-s ohutu?

Video: Kas Vectori niit on Java-s ohutu?
Video: Java Collections (part 2). MJC Light Talk #36 2024, November
Anonim

Vektor meetodid on kõik sünkroonitud. Nii et kasutades seda mitmest niidid on " ohutu ". Peate sünkroonima ainult siis, kui vajate lugemise-hinnangu-kirjutamise protsessi, et olla atomaarne. Enda meetodite sünkroonimine ei pruugi teie koodi muuta niit - ohutu nende stsenaariumide jaoks.

Kas loendilõim on Java-s seda silmas pidades turvaline?

Tegelikult on kõik kollektsiooni klassid (v.a Vector ja Hashtable). java . util pakett ei ole niit - ohutu . Sellepärast uus kollektsioonid ( Nimekiri , Set, Map jne) ei paku üldse samaaegsuse juhtimist, et tagada ühe lõimega rakendustes maksimaalne jõudlus.

Samamoodi, milline kogu on Javas niidikindel? A niit - ohutu klass on klass, mis tagab nii klassi sisemise oleku kui ka meetoditelt tagastatud väärtused, on õiged, kui seda kutsutakse samaaegselt mitmest niidid . The kogumine klassid, mis on niit - turvaline Javas on virn, vektor, omadused, räsitabel jne.

Kas Java HashSeti lõime on seda arvesse võttes turvaline?

HashSet ei ole lõime turvaline HashSet sisse Java ei ole niit ohutu kuna see pole vaikimisi sünkroonitud. Kui kasutate HashSet mitme lõimega keskkonnas, kus sellele pääseb juurde mitu niidid samaaegselt ja struktuuriliselt modifitseeritud ka üheainsa poolt niit siis tuleb see väliselt sünkroniseerida.

Milline on lõimekindel ArrayList või vektor?

Vektor on aeglane nagu ta on niit ohutu . Võrreldes ArrayList on kiire, kuna see pole sünkroonitud. Seega sisse ArrayList kaks või enam niidid pääseb koodile juurde samal ajal, samas Vektor piirdub ühega niit korraga. A Vektor vaikimisi kahekordistab selle massiivi suurust.

Soovitan: