Class SpscGrowableArrayQueue<E>

  • Type Parameters:
    E -
    All Implemented Interfaces:
    java.lang.Iterable<E>, java.util.Collection<E>, java.util.Queue<E>, IndexedQueueSizeUtil.IndexedQueue, MessagePassingQueue<E>, QueueProgressIndicators

    public class SpscGrowableArrayQueue<E>
    extends BaseSpscLinkedArrayQueue<E>
    An SPSC array queue which starts at initialCapacity and grows to maxCapacity in linked chunks, doubling theirs size every time until the full blown backing array is used. The queue grows only when the current chunk is full and elements are not copied on resize, instead a link to the new chunk is stored in the old chunk for the consumer to follow.
    • Field Detail

      • maxQueueCapacity

        private final int maxQueueCapacity
      • lookAheadStep

        private long lookAheadStep
    • Constructor Detail

      • SpscGrowableArrayQueue

        public SpscGrowableArrayQueue​(int capacity)
      • SpscGrowableArrayQueue

        public SpscGrowableArrayQueue​(int chunkSize,
                                      int capacity)