uss eine ConcurrentHashMap in einen synchronisierten Block eingeschlossen werde
Führen Sie alle nicht-remanenten Operationen auf einer ConcurrentHashMap aus put()
, remove()
etc.) müssen in ein @ gewickelt werdsynchronized(this)
Block? Ich verstehe, dass alle diese Vorgänge thread-sicher sind. Gibt es also einen wirklichen Vorteil / Bedarf, wenn Sie dies tun? Die einzigen Operationen, die verwendet werden, sindput()
undremove()
.
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);
}
...
}