Class SpscGrowableArrayQueue<E>

Type Parameters:
E -
All Implemented Interfaces:
Iterable<E>, Collection<E>, 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 Details

    • maxQueueCapacity

      private final int maxQueueCapacity
    • lookAheadStep

      private long lookAheadStep
  • Constructor Details

    • SpscGrowableArrayQueue

      public SpscGrowableArrayQueue(int capacity)
    • SpscGrowableArrayQueue

      public SpscGrowableArrayQueue(int chunkSize, int capacity)
  • Method Details