Ali je vektorska nit varna v Javi?
Ali je vektorska nit varna v Javi?

Video: Ali je vektorska nit varna v Javi?

Video: Ali je vektorska nit varna v Javi?
Video: Calculus III: Equations of Lines and Planes (Level 1) | Introduction to Vector Functions 2024, Maj
Anonim

Vektor vse metode so sinhronizirane. Torej ga uporabite iz več niti je " varno ". Sinhronizirati morate samo, če potrebujete, da je postopek branja-vrednotenja-pisanja atomičen. Sinhronizacija lastnih metod ne pomeni nujno, da bo vaša koda nit - varno za te scenarije.

Ali je nit seznama varna v Javi glede na to?

Pravzaprav so vsi zbirni razredi (razen Vector in Hashtable) v java . util paketa niso nit - varno . Zato je nova zbirke ( Seznam , Set, Map itd.) sploh ne zagotavljajo nadzora sočasnosti, da bi zagotovili največjo zmogljivost v enonitnih aplikacijah.

Podobno, katera zbirka je v Javi varna niti? A nit - varno class je razred, ki zagotavlja notranje stanje razreda in vrnjene vrednosti iz metod, so pravilni, medtem ko so hkrati priklicani iz več niti . The zbiranje razredi, ki so nit - varno v Javi so Stack, Vector, Properties, Hashtable itd.

Ali je ob upoštevanju tega nit Java HashSet varna?

HashSet ni Niti varen HashSet v Java ni varno za nit ker ni privzeto sinhroniziran. Če uporabljate HashSet v večnitnem okolju, kjer do njega dostopa več niti sočasno in strukturno spremenjena tudi s celo eno nit potem ga je treba sinhronizirati navzven.

Kaj je nit varen ArrayList ali vektor?

Vektor je počasen kot je varno za nit . V primerjavi ArrayList je hiter, ker ni sinhroniziran. Tako v ArrayList dve ali več niti lahko istočasno dostopa do kode, medtem ko Vektor je omejena na eno nit ob času. A Vektor privzeto podvoji velikost svoje matrike.

Priporočena: