У меня есть HashMap
в моей программе, к которой обращаются несколько потоков, и иногда она устанавливается одним потоком.
Например:
Map<String, String> myMap = new HashMap<String, String>();
Доступ к нему осуществляется несколькими потоками. Один раз в час один поток вызывает:
myMap = myRefreshedVersionOfTheMap;
Итак, мой вопрос в том, является ли это потокобезопасным. Если обе карты всегда имеют ключ "importantKey"
, может ли поток чтения когда-либо получить доступ к карте в то время, когда "importantKey"
не существует?
Редактировать:
Благодаря ответам я понял, что этот вопрос фактически не зависит от HashMap
. Это был больше вопрос о присвоении ссылки на объект.