У меня есть класс ниже, где
public class LRUCache {
private HashMap<String,String> dataMap;
private HashMap<String,String> analyticsMap;
public put(String key, String value) {
dataMap.put(key, value);
String date = getCurrentDateAsString();
analyticsMap.put(key, date);
}
public get(String key) {
String date = analyticsMap.get(key);
boolean dateExpired = isDateExpired(date);
boolean value = null;
if (!dateExpired)
value = dataMap.get();
return value;
}
}
В этом классе у меня есть 2 хеш-карты, которые доступны в методах get и put.Как сделать этот класс безопасным для потока?
Нужно ли синхронизировать и получить, и положить, что должно решить мою проблему?В общем, если у меня в классе более одного состояния, то вместо того, чтобы каждый из них использовал 2 concurrentHashMaps, я должен поместить их в синхронизированный метод?