El fil de Vector és segur a Java?
El fil de Vector és segur a Java?

Vídeo: El fil de Vector és segur a Java?

Vídeo: El fil de Vector és segur a Java?
Vídeo: Java UTN Web 2024, Maig
Anonim

Vector tots els mètodes estan sincronitzats. Per tant, utilitzant-lo des de múltiples fils és " Caixa forta ". Només cal que sincronitzeu si necessiteu que un procés de lectura-avaluació-escriptura sigui atòmic. Sincronitzar els vostres propis mètodes no necessàriament fa que el vostre codi fil - Caixa forta per aquests escenaris.

Tenint això a la vista, és segur el fil de llista a Java?

De fet, totes les classes de col·lecció (excepte Vector i Hashtable) al java . paquet d'utilitat no ho són fil - Caixa forta . Per això el nou col·leccions ( Llista , Set, Map, etc.) no ofereixen cap control de concurrència per oferir el màxim rendiment en aplicacions d'un sol fil.

De la mateixa manera, quina col·lecció és segura per a fils a Java? A fil - Caixa forta class és una classe que garanteix l'estat intern de la classe, així com els valors retornats dels mètodes, són correctes mentre s'invoca simultàniament des de múltiples fils . El col · lecció classes que són fil - segur a Java són Stack, Vector, Properties, Hashtable, etc.

Tenint-ho en compte, és segur el fil Java HashSet?

HashSet no és HashSet sense fils en Java no és segur de fil ja que no està sincronitzat per defecte. Si estàs utilitzant HashSet en un entorn de múltiples fils on hi accedeixen múltiples fils simultàniament i estructuralment modificat també per un sol fil llavors s'ha de sincronitzar externament.

Què és ArrayList o vector segur per a fils?

Vector és lent com és segur de fil . En comparació ArrayList és ràpid ja que no està sincronitzat. Així en ArrayList dos o més fils pot accedir al codi al mateix temps, mentre Vector es limita a un fil en un moment. A Vector per defecte duplica la mida de la seva matriu.

Recomanat: