Il thread vettoriale è sicuro in Java?
Il thread vettoriale è sicuro in Java?

Video: Il thread vettoriale è sicuro in Java?

Video: Il thread vettoriale è sicuro in Java?
Video: SISTEMI OPERATIVI: I THREAD | DEFINIZIONE E GESTIONE 2024, Dicembre
Anonim

Vettore i metodi sono tutti sincronizzati. Quindi usandolo da più discussioni è " sicuro ". Devi sincronizzare solo se hai bisogno di un processo di lettura-valutazione-scrittura per essere atomico. La sincronizzazione dei tuoi metodi non rende necessariamente il tuo codice filo - sicuro per quegli scenari

Tenendo presente questo, l'elenco è thread-safe in Java?

Infatti, tutte le classi di raccolta (eccetto Vector e Hashtable) nel Giava . il pacchetto util non lo è filo - sicuro . Ecco perché il nuovo collezioni ( Elenco , Set, Map, ecc.) non forniscono alcun controllo della concorrenza per fornire le massime prestazioni nelle applicazioni a thread singolo.

Allo stesso modo, quale raccolta è thread-safe in Java? UN filo - sicuro class è una classe che garantisce lo stato interno della classe e i valori restituiti dai metodi, sono corretti mentre sono invocati contemporaneamente da più discussioni . Il collezione classi che sono filo - sicuro in Java sono Stack, Vector, Properties, Hashtable, ecc.

Tenendo conto di ciò, Java HashSet è sicuro per i thread?

HashSet non è HashSet thread-safe in Giava non è thread-safe in quanto non è sincronizzato per impostazione predefinita. Se stai usando HashSet in un ambiente multi-thread in cui si accede da più discussioni contemporaneamente e strutturalmente modificati anche da un singolo filo quindi deve essere sincronizzato esternamente.

Qual è l'ArrayList thread-safe o il vettore?

Vettore è lento così com'è thread-safe . In confronto Lista di array è veloce in quanto non è sincronizzato. così in Lista di array due o più discussioni possono accedere contemporaneamente al codice, mentre Vettore è limitato a uno filo Al tempo. UN Vettore per impostazione predefinita raddoppia la dimensione del suo array.

Consigliato: