2024 Autor: Elizabeth Oswald | [email protected]. Ostatnio zmodyfikowany: 2024-01-13 00:11
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:
Czy możemy używać niegramatycznego?
W gramatyce normatywnej, niegramatyczne może odnosić się do grupy słów lub struktury zdań, która nie jest zgodna z "właściwym" sposobem mówienia lub pisania, zgodnie ze standardami określonymi przez jakiś autorytet. Nazywany również błędem gramatycznym.
Czy możemy używać AC podczas gorączki?
Jeśli Ty lub ktoś z Twoich bliskich jest chory, możesz użyć ustawień snu na kontrolerze AC, aby utrzymać stałą temperaturę w całym domu. Jeśli chcesz utrzymać stałą temperaturę, możesz po prostu włączyć klimatyzację przez całą noc. Czy klimatyzacja obniży temperaturę ciała?
Czy możemy używać współprogramów w Javie?
Krótka odpowiedź na to pytanie brzmi: Tak. Ten artykuł przedstawia implementację współprogramów w czystej Javie, dostępną jako Open Source na GitHub na licencji Apache 2.0. Wykorzystuje funkcje dostępne od wersji Java 8, aby deklaracja i wykonywanie współprogramów było tak proste, jak to tylko możliwe.
Czy możemy używać kursorów w funkcjach?
Użycie kursora Główną funkcją kursora jest pobieranie danych, jeden wiersz naraz, z zestawu wyników, w przeciwieństwie do poleceń SQL, które działają na wszystkich wierszach w wyniku ustawionym jednorazowo. Kursory są używane, gdy użytkownik musi zaktualizować rekordy w sposób pojedynczy lub wiersz po wierszu, w tabeli bazy danych.
Czy możemy używać przestarzałych metod w Javie?
Nadal możesz używać przestarzałego kodu bez zmiany wydajności, ale cały sens deprecjacji metody/klasy polega na tym, aby użytkownicy wiedzieli, że jest teraz lepszy sposób na jej użycie, i że w przyszłej wersji przestarzały kod prawdopodobnie zostanie usunięty.