Er Vector thread trygt i Java?
Er Vector thread trygt i Java?

Video: Er Vector thread trygt i Java?

Video: Er Vector thread trygt i Java?
Video: Thread Safety in Java 2024, Kan
Anonim

Vektor metodene er alle synkronisert. Så bruker det fra flere tråder er " sikker ". Du trenger bare å synkronisere hvis du trenger en lese-evaluer-skrive-prosess for å være atomisk. Synkronisering av dine egne metoder gjør ikke nødvendigvis koden din tråd - sikker for disse scenariene.

Med dette i sikte, er listetråden trygg i Java?

Faktisk er alle samlingsklasser (unntatt Vector og Hashtable) i java . util-pakken er det ikke tråd - sikker . Det er derfor den nye samlinger ( Liste , Set, Map, etc) gir ingen samtidighetskontroll i det hele tatt for å gi maksimal ytelse i enkelt-trådede applikasjoner.

På samme måte, hvilken samling er trådsikker i Java? EN tråd - sikker klasse er en klasse som garanterer den interne tilstanden til klassen samt returnerte verdier fra metoder, er korrekte mens de påkalles samtidig fra flere tråder . De samling klasser som er tråd - trygt i Java er Stack, Vector, Properties, Hashtable, etc.

Med tanke på dette, er Java HashSet-tråden trygg?

HashSet er ikke trådsikker HashSet i Java er ikke trådsikker siden den ikke er synkronisert som standard. Hvis du bruker HashSet i et flertrådsmiljø der det er tilgjengelig for flere tråder samtidig og strukturelt modifisert av enda en enkelt tråd da må den synkroniseres eksternt.

Hva er trådsikker ArrayList eller vektor?

Vektor er treg som den er trådsikker . Til sammenligning ArrayList er rask da den ikke er synkronisert. Altså i ArrayList to eller flere tråder kan få tilgang til koden samtidig, mens Vektor er begrenset til én tråd om gangen. EN Vektor standard til å doble størrelsen på matrisen.

Anbefalt: