Er Vector-tråd sikker i Java?
Er Vector-tråd sikker i Java?

Video: Er Vector-tråd sikker i Java?

Video: Er Vector-tråd sikker i Java?
Video: Java On Conference 2022, JDK 19, Spring Framework 6 и Spring Boot 3 [Новости MJC #11] 2024, November
Anonim

Vektor metoder er alle synkroniserede. Så bruger det fra flere tråde er " sikker ". Du behøver kun at synkronisere, hvis du har brug for en læse-evaluer-skrive-proces for at være atomisk. Synkronisering af dine egne metoder gør ikke nødvendigvis din kode tråd - sikker for disse scenarier.

Hvis du holder dette i øjesyn, er listetråd sikker i Java?

Faktisk er alle samlingsklasser (undtagen Vector og Hashtable) i java . util-pakken er det ikke tråd - sikker . Det er derfor den nye samlinger ( Liste , Set, Map, etc) giver ingen samtidighedskontrol overhovedet for at give maksimal ydeevne i enkelttrådede applikationer.

På samme måde, hvilken samling er trådsikker i Java? EN tråd - sikker klasse er en klasse, der garanterer klassens interne tilstand såvel som returnerede værdier fra metoder, er korrekte, mens de påkaldes samtidigt fra flere tråde . Det kollektion klasser, der er tråd - sikker i Java er stak, vektor, egenskaber, hashtabel osv.

Hvis du tager dette i betragtning, er Java HashSet-tråd sikker?

HashSet er ikke trådsikker HashSet i Java er ikke trådsikker da den ikke er synkroniseret som standard. Hvis du bruger HashSet i et multi-threaded miljø, hvor det tilgås af flere tråde samtidig og strukturelt modificeret også af selv en enkelt tråd så skal det synkroniseres eksternt.

Hvad er trådsikker ArrayList eller vektor?

Vektor er langsom som den er trådsikker . Sammenlignet med ArrayList er hurtig, da den ikke er synkroniseret. Således i ArrayList to eller flere tråde kan få adgang til koden på samme tid, mens Vektor er begrænset til én tråd på et tidspunkt. EN Vektor standard til at fordoble størrelsen af dens array.

Anbefalede: