ConcurrentHashMap (put()
, remove()
등)에서의 비회원 작업은 모두 synchronized(this)
블록으로 묶어야합니까? 나는이 모든 작업이 스레드로부터 안전하다는 것을 이해하고 있으므로 그렇게 할 때 실질적인 이익/필요성이 있습니까? 사용 된 유일한 작업은 put()
및 remove()
입니다.ConcurrentHashMap을 동기화 된 블록에 래핑해야합니까?
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);
}
...
}