ConcurrentMappublic interface ConcurrentMap implements MapA {@link java.util.Map} providing additional atomic
putIfAbsent, remove, and replace methods.
Memory consistency effects: As with other concurrent
collections, actions in a thread prior to placing an object into a
{@code ConcurrentMap} as a key or value
happen-before
actions subsequent to the access or removal of that object from
the {@code ConcurrentMap} in another thread.
This interface is a member of the
Java Collections Framework. |
Methods Summary |
---|
public V | putIfAbsent(K key, V value)If the specified key is not already associated
with a value, associate it with the given value.
This is equivalent to
if (!map.containsKey(key))
return map.put(key, value);
else
return map.get(key);
except that the action is performed atomically.
| public boolean | remove(java.lang.Object key, java.lang.Object value)Removes the entry for a key only if currently mapped to a given value.
This is equivalent to
if (map.containsKey(key) && map.get(key).equals(value)) {
map.remove(key);
return true;
} else return false;
except that the action is performed atomically.
| public boolean | replace(K key, V oldValue, V newValue)Replaces the entry for a key only if currently mapped to a given value.
This is equivalent to
if (map.containsKey(key) && map.get(key).equals(oldValue)) {
map.put(key, newValue);
return true;
} else return false;
except that the action is performed atomically.
| public V | replace(K key, V value)Replaces the entry for a key only if currently mapped to some value.
This is equivalent to
if (map.containsKey(key)) {
return map.put(key, value);
} else return null;
except that the action is performed atomically.
|
|