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);
    }
    ...
}

Antworten auf die Frage(2)

Ihre Antwort auf die Frage