类 ConcurrentLongLongPairHashMap

java.lang.Object
org.apache.pulsar.common.util.collections.ConcurrentLongLongPairHashMap

public class ConcurrentLongLongPairHashMap extends Object
Concurrent hash map where both keys and values are composed of pairs of longs.

(long,long) --> (long,long)

Provides similar methods as a ConcurrentMap<K,V> but since it's an open hash map with linear probing, no node allocations are required to store the keys and values, and no boxing is required.

Keys MUST be >= 0.
WARN: method forEach do not guarantee thread safety, nor do the keys, values and asMap method.
The forEach method is specifically designed for single-threaded usage. When iterating over a map with concurrent writes, it becomes possible for new values to be either observed or not observed. There is no guarantee that if we write value1 and value2, and are able to see value2, then we will also see value1. In some cases, it is even possible to encounter two mappings with the same key, leading the keys method to return a List containing two identical keys.
It is crucial to understand that the results obtained from aggregate status methods such as keys, values, and asMap are typically reliable only when the map is not undergoing concurrent updates from other threads. When concurrent updates are involved, the results of these methods reflect transient states that may be suitable for monitoring or estimation purposes, but not for program control.

  • 方法详细资料