Is Vector-thread veilig in Java?
Is Vector-thread veilig in Java?

Video: Is Vector-thread veilig in Java?

Video: Is Vector-thread veilig in Java?
Video: Java On Conference 2022, JDK 19, Spring Framework 6 and Spring Boot 3 [MJC News #11] 2024, Mei
Anonim

Vector methoden zijn allemaal gesynchroniseerd. Dus gebruik het van meerdere draden is " veilig ". U hoeft alleen te synchroniseren als u een lees-evalueer-schrijfproces nodig hebt om atomair te zijn. Het synchroniseren van uw eigen methoden maakt uw code niet noodzakelijk draad - veilig voor die scenario's.

Met dit in het achterhoofd, is de lijstthread veilig in Java?

In feite zijn alle verzamelklassen (behalve Vector en Hashtable) in de Java . util pakket zijn niet draad - veilig . Daarom is de nieuwe collecties ( Lijst , Set, Map, enz.) bieden helemaal geen concurrency-controle om maximale prestaties te leveren in toepassingen met één thread.

Evenzo, welke verzameling is thread-safe in Java? EEN draad - veilig class is een klasse die de interne status van de klasse garandeert, evenals geretourneerde waarden van methoden, correct zijn terwijl ze gelijktijdig worden aangeroepen door meerdere draden . De verzameling klassen die zijn draad - veilig op Java zijn Stack, Vector, Properties, Hashtable, etc.

Dit in overweging nemend, is Java HashSet-thread veilig?

HashSet is niet thread veilige HashSet in Java is niet draad veilig omdat het niet standaard is gesynchroniseerd. Als u gebruik maakt van HashSet in een omgeving met meerdere threads waar het wordt benaderd door meerdere draden gelijktijdig en structureel ook gewijzigd door zelfs maar een enkele draad dan moet het extern worden gesynchroniseerd.

Wat is thread-safe ArrayList of vector?

Vector is traag zoals het is draad veilig . In vergelijking ArrayLijst is snel omdat het niet gesynchroniseerd is. dus in ArrayLijst twee of meer draden tegelijkertijd toegang hebben tot de code, terwijl Vector is beperkt tot één draad tegelijk. EEN Vector standaard verdubbelt de grootte van zijn array.

Aanbevolen: