Este thread-ul Vector sigur în Java?
Este thread-ul Vector sigur în Java?

Video: Este thread-ul Vector sigur în Java?

Video: Este thread-ul Vector sigur în Java?
Video: Полный курс React Query за час | TanStack Query v4 для начинающих 2024, Aprilie
Anonim

Vector toate metodele sunt sincronizate. Deci folosind-o din mai multe fire este sigur „. Trebuie să sincronizezi doar dacă ai nevoie ca un proces de citire-evaluare-scriere să fie atomic. Sincronizarea propriilor metode nu face neapărat codul tău fir - sigur pentru acele scenarii.

Ținând acest lucru în vedere, este firul de listă sigur în Java?

De fapt, toate clasele de colecție (cu excepția Vector și Hashtable) din java . pachetul util nu sunt fir - sigur . De aceea noul colecții ( Listă , Set, Map etc.) nu oferă deloc controlul concurenței pentru a oferi performanță maximă în aplicațiile cu un singur thread.

În mod similar, ce colecție este sigură pentru fire în Java? A fir - sigur clasa este o clasă care garantează starea internă a clasei, precum și valorile returnate de la metode, sunt corecte în timp ce sunt invocate simultan din mai multe fire . The Colectie clase care sunt fir - sigur în Java sunt Stack, Vector, Properties, Hashtable etc.

Ținând cont de acest lucru, este firul Java HashSet sigur?

HashSet nu este thread safe HashSet în Java nu este fir de siguranta deoarece nu este sincronizat implicit. Dacă utilizați HashSet într-un mediu cu mai multe fire în care este accesat de mai multe fire concomitent și modificat structural chiar și de unul singur fir atunci trebuie sincronizat extern.

Care este ArrayList sau vector sigur pentru fire?

Vector este lent așa cum este fir de siguranta . In comparatie ArrayList este rapid deoarece nu este sincronizat. Astfel in ArrayList două sau mai multe fire poate accesa codul în același timp, în timp ce Vector este limitat la unul fir la un moment dat. A Vector implicit dublează dimensiunea matricei sale.

Recomandat: