Class AtomicQueueUtil


  • public final class AtomicQueueUtil
    extends java.lang.Object
    • Constructor Summary

      Constructors 
      Constructor Description
      AtomicQueueUtil()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static java.util.concurrent.atomic.AtomicLongArray allocateLongArray​(int capacity)  
      static <E> java.util.concurrent.atomic.AtomicReferenceArray<E> allocateRefArray​(int capacity)  
      static int calcCircularLongElementOffset​(long index, int mask)  
      static int calcCircularRefElementOffset​(long index, long mask)  
      static int calcLongElementOffset​(long index)  
      static int calcRefElementOffset​(long index)  
      static int length​(java.util.concurrent.atomic.AtomicReferenceArray<?> buf)  
      static long lpLongElement​(java.util.concurrent.atomic.AtomicLongArray buffer, int offset)  
      static <E> E lpRefElement​(java.util.concurrent.atomic.AtomicReferenceArray<E> buffer, int offset)  
      static long lvLongElement​(java.util.concurrent.atomic.AtomicLongArray buffer, int offset)  
      static <E> E lvRefElement​(java.util.concurrent.atomic.AtomicReferenceArray<E> buffer, int offset)  
      static int modifiedCalcCircularRefElementOffset​(long index, long mask)
      This method assumes index is actually (index << 1) because lower bit is used for resize hence the >> 1
      static int nextArrayOffset​(java.util.concurrent.atomic.AtomicReferenceArray<?> curr)  
      static void soLongElement​(java.util.concurrent.atomic.AtomicLongArray buffer, int offset, long e)  
      static void soRefElement​(java.util.concurrent.atomic.AtomicReferenceArray buffer, int offset, java.lang.Object value)  
      static void spLongElement​(java.util.concurrent.atomic.AtomicLongArray buffer, int offset, long e)  
      static <E> void spRefElement​(java.util.concurrent.atomic.AtomicReferenceArray<E> buffer, int offset, E value)  
      static <E> void svRefElement​(java.util.concurrent.atomic.AtomicReferenceArray<E> buffer, int offset, E value)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • AtomicQueueUtil

        public AtomicQueueUtil()
    • Method Detail

      • lvRefElement

        public static <E> E lvRefElement​(java.util.concurrent.atomic.AtomicReferenceArray<E> buffer,
                                         int offset)
      • lpRefElement

        public static <E> E lpRefElement​(java.util.concurrent.atomic.AtomicReferenceArray<E> buffer,
                                         int offset)
      • spRefElement

        public static <E> void spRefElement​(java.util.concurrent.atomic.AtomicReferenceArray<E> buffer,
                                            int offset,
                                            E value)
      • soRefElement

        public static void soRefElement​(java.util.concurrent.atomic.AtomicReferenceArray buffer,
                                        int offset,
                                        java.lang.Object value)
      • svRefElement

        public static <E> void svRefElement​(java.util.concurrent.atomic.AtomicReferenceArray<E> buffer,
                                            int offset,
                                            E value)
      • calcRefElementOffset

        public static int calcRefElementOffset​(long index)
      • calcCircularRefElementOffset

        public static int calcCircularRefElementOffset​(long index,
                                                       long mask)
      • allocateRefArray

        public static <E> java.util.concurrent.atomic.AtomicReferenceArray<E> allocateRefArray​(int capacity)
      • spLongElement

        public static void spLongElement​(java.util.concurrent.atomic.AtomicLongArray buffer,
                                         int offset,
                                         long e)
      • soLongElement

        public static void soLongElement​(java.util.concurrent.atomic.AtomicLongArray buffer,
                                         int offset,
                                         long e)
      • lpLongElement

        public static long lpLongElement​(java.util.concurrent.atomic.AtomicLongArray buffer,
                                         int offset)
      • lvLongElement

        public static long lvLongElement​(java.util.concurrent.atomic.AtomicLongArray buffer,
                                         int offset)
      • calcLongElementOffset

        public static int calcLongElementOffset​(long index)
      • calcCircularLongElementOffset

        public static int calcCircularLongElementOffset​(long index,
                                                        int mask)
      • allocateLongArray

        public static java.util.concurrent.atomic.AtomicLongArray allocateLongArray​(int capacity)
      • length

        public static int length​(java.util.concurrent.atomic.AtomicReferenceArray<?> buf)
      • modifiedCalcCircularRefElementOffset

        public static int modifiedCalcCircularRefElementOffset​(long index,
                                                               long mask)
        This method assumes index is actually (index << 1) because lower bit is used for resize hence the >> 1
      • nextArrayOffset

        public static int nextArrayOffset​(java.util.concurrent.atomic.AtomicReferenceArray<?> curr)