Нужно ли выполнять все операции без повторения в ConcurrentHashMap (put()
, remove()
и т.д.) в блок synchronized(this)
? Я понимаю, что все эти операции поточно-безопасны, так есть ли реальная польза/необходимость в этом? Используются только операции put()
и remove()
.
protected final Map<String, String> mapDataStore = new ConcurrentHashMap<String, String>();
public void updateDataStore(final String key, final String value) {
...
synchronized (this) {
mapDataStore.put(key, value);
}
...
}