Ist das Setzen eines HashMap-Threads sicher?
Ich habe einHashMap
in meinem Programm, auf das von mehreren Threads zugegriffen wird und das gelegentlich von einem einzelnen Thread gesetzt wird.
Zum Beispiel:
Map<String, String> myMap = new HashMap<String, String>();
Auf diesen wird von mehreren Threads zugegriffen. Einmal pro Stunde ruft ein einzelner Thread Folgendes auf:
myMap = myRefreshedVersionOfTheMap;
Meine Frage ist also, ob dies threadsicher ist oder nicht. Wenn beide Karten immer den Schlüssel haben"importantKey"
, ist es möglich, dass ein lesender Thread immer zu einem Zeitpunkt auf die Karte zugreift, an dem"importantKey"
ist nicht vorhanden?
Bearbeiten:
Dank der Antworten habe ich festgestellt, dass diese Frage tatsächlich unabhängig von der istHashMap
. Es war eher eine Frage der Objektreferenzzuweisung.