Vai Java vektora pavediens ir drošs?
Vai Java vektora pavediens ir drošs?

Video: Vai Java vektora pavediens ir drošs?

Video: Vai Java vektora pavediens ir drošs?
Video: Java Collections (part 2). MJC Light Talk #36 2024, Maijs
Anonim

Vektors visas metodes ir sinhronizētas. Tātad, izmantojot to no vairākiem pavedieni ir droši Sinhronizācija jāveic tikai tad, ja nepieciešams, lai lasīšanas-novērtēšanas-rakstīšanas process būtu kodolīgs. Sinhronizējot savas metodes, ne vienmēr tiek izveidots kods pavediens - droši šiem scenārijiem.

Ņemot to vērā, vai saraksta pavediens ir drošs Java?

Faktiski visas kolekcijas klases (izņemot Vector un Hashtable). java . util pakete nav pavediens - droši . Tāpēc jaunais kolekcijas ( Saraksts , Set, Map uc) nenodrošina vienlaicīguma kontroli, lai nodrošinātu maksimālu veiktspēju viena pavediena lietojumprogrammās.

Līdzīgi, kura kolekcija ir droša Java? A pavediens - droši klase ir klase, kas garantē klases iekšējo stāvokli, kā arī atgrieztās vērtības no metodēm, ir pareizas, vienlaikus izsaucot vairākas pavedieni . The kolekcija klases, kas ir pavediens - droši Java ir Stack, Vector, Properties, Hashtable utt.

Ņemot to vērā, vai Java HashSet pavediens ir drošs?

HashSet nav pavedienu drošs HashSet iekšā Java nav vītne droši jo tas nav sinhronizēts pēc noklusējuma. Ja lietojat HashSet daudzpavedienu vidē, kur tai piekļūst vairāki pavedieni vienlaikus un strukturāli modificēti arī pat viens pavediens tad tas ir jāsinhronizē ārēji.

Kurš ir pavediens drošs ArrayList vai vektors?

Vektors ir lēns, kā tas ir vītne droši . Salīdzinājumā ArrayList ir ātrs, jo tas nav sinhronizēts. Tādējādi iekšā ArrayList divi vai vairāk pavedieni var piekļūt kodam vienlaikus, kamēr Vektors ir ierobežots līdz vienam pavediens laikā. A Vektors pēc noklusējuma dubulto sava masīva lielumu.

Ieteicams: