Czy możemy używać hashmap w środowisku wielowątkowym?

Spisu treści:

Czy możemy używać hashmap w środowisku wielowątkowym?
Czy możemy używać hashmap w środowisku wielowątkowym?
Anonim

Co jest nie tak podczas korzystania z HashMap w środowisku wielowątkowym? … To jest problem, jeśli wiele wątków jest dodawanych do tej samej instancji HashMap bezjej synchronizacji. Nawet jeśli tylko 1 wątek modyfikuje HashMap, a inne wątki czytają z tej samej mapy bez synchronizacji, napotkasz problemy.

Czy możesz używać HashMap w środowisku wielowątkowym?

Musisz się upewnić: Wszystkie aktualizacje HashMap zostały zakończone zanim wątki zostaną utworzone, a wątek, który tworzy mapę, również rozwidla wątki. Wątki używają HashMap tylko w trybie tylko do odczytu - pobierz lub iterację bez usuwania. Nie ma wątków aktualizujących mapę.

Dlaczego HashMap nie powinien być używany w środowisku wielowątkowym, czy może również powodować nieskończoną pętlę?

Domyślna pojemność HashMap wynosi 16, a współczynnik obciążenia wynosi 0,75, co oznacza, że HashMap podwoi swoją pojemność, gdy 12. para klucz-wartość wejdzie na mapę (160,75=12). Gdy 2 wątki próbują jednocześnie uzyskać dostęp do HashMap, możesz napotkać nieskończoną pętlę. Wątek 1 i Wątek 2 próbują umieścić 12. parę klucz-wartość.

Czy HashMap jest bezpieczny dla wątków?

HashMap nie jest zsynchronizowany. To nie jest bezpieczne dla wątków i nie może być współdzielone przez wiele wątków bez odpowiedniego kodu synchronizacji, podczas gdy Hashtable jest zsynchronizowany.

Co najlepiej nadaje się do wielowątkowościśrodowisko?

Odpowiedź brzmi „ConcurrentHashMap”

Zalecana:

Interesujące artykuły
Czy kaufman kontra Lawler był prawdziwy?
Czytaj więcej

Czy kaufman kontra Lawler był prawdziwy?

Wiele lat po tym, jak Kaufman i Lawler pojawili się w „Late Night”, Lawler ujawnił, że ich spór został całkowicie zainscenizowany i że para była w rzeczywistości bliskimi przyjaciółmi, według The Los Angeles Times. To miało sens: teatralny charakter pracy Kaufmana i świata wrestlingu były meczem w raju oszustów.

Dlaczego tusz do rzęs rozmazuje się pod oczami?
Czytaj więcej

Dlaczego tusz do rzęs rozmazuje się pod oczami?

"Wilgoć i olejki z kremu pod oczy mieszają się z ciepłem i olejkami ze skóry. Ciepło to unosi się w kierunku tuszu i wpływa na formułę tuszu do rzęs, który rozkłada składniki, tworząc przerażające plamy i smugi tuszu do rzęs." Jak sprawić, by tusz do rzęs nie rozmazywał się pod oczami?

Kto jest silniejszy regieleki i regidrago?
Czytaj więcej

Kto jest silniejszy regieleki i regidrago?

Tak dobrze, jak Regidrago może wyglądać na papierze, Regieleki jest lepsze. Z 200 bazową statystyką szybkości, Regieleki jest najszybszym Pokémonem w grze. Cierpi na ten sam brak masy co Regidrago, mając tylko 50 dla obu podstawowych statystyk Obrony, ale ma też tylko 80 podstawowych HP, co czyni go jeszcze słabszym.