Czy wątek Vector jest bezpieczny w Javie?
Czy wątek Vector jest bezpieczny w Javie?

Wideo: Czy wątek Vector jest bezpieczny w Javie?

Wideo: Czy wątek Vector jest bezpieczny w Javie?
Wideo: Vectors in Java: The 1 Situation You Might Want To Use Them 2024, Listopad
Anonim

Wektor wszystkie metody są zsynchronizowane. Więc używając go z wielu wątki jest bezpieczna Synchronizacja jest potrzebna tylko wtedy, gdy proces odczytu-oceny-zapisu ma być atomowy. Synchronizacja własnych metod niekoniecznie powoduje, że kod wątek - bezpieczna dla tych scenariuszy.

Mając to na uwadze, czy wątki listy są bezpieczne w Javie?

W rzeczywistości wszystkie klasy kolekcji (z wyjątkiem Vector i Hashtable) w Jawa . pakiet użytkowy nie jest wątek - bezpieczna . Dlatego nowy kolekcje ( Lista , Set, Map itp.) nie zapewniają żadnej kontroli współbieżności, aby zapewnić maksymalną wydajność w aplikacjach jednowątkowych.

Podobnie, która kolekcja jest bezpieczna wątkowo w Javie? A wątek - bezpieczna class to klasa, która gwarantuje, że stan wewnętrzny klasy oraz wartości zwracane przez metody są poprawne przy równoczesnym wywołaniu z wielu wątki . ten kolekcja zajęcia, które są wątek - bezpieczny w Javie to Stack, Vector, Properties, Hashtable itp.

Biorąc to pod uwagę, czy wątki Java HashSet są bezpieczne?

HashSet nie jest bezpieczny wątek HashSet w Jawa nie jest bezpieczny wątku ponieważ domyślnie nie jest synchronizowany. Jeśli używasz HashSet w środowisku wielowątkowym, w którym dostęp do niego ma wiele wątki jednocześnie i strukturalnie modyfikowane nawet przez jedną wątek wtedy musi być zsynchronizowany zewnętrznie.

Jaki jest bezpieczny wątkowo ArrayList lub wektor?

Wektor jest powolny jak jest bezpieczny wątku . W porównaniu Lista tablic jest szybki, ponieważ nie jest zsynchronizowany. Tak więc w Lista tablic dwa lub więcej wątki może uzyskać dostęp do kodu w tym samym czasie, podczas gdy Wektor ogranicza się do jednego wątek na czas. A Wektor domyślnie podwaja rozmiar swojej tablicy.

Zalecana: