Class SynchronizedQueue<T>

  • Type Parameters:
    T - The type of object managed by this queue

    public class SynchronizedQueue<T>
    extends java.lang.Object
    This is intended as a (mostly) GC-free alternative to ConcurrentLinkedQueue when the requirement is to create an unbounded queue with no requirement to shrink the queue. The aim is to provide the bare minimum of required functionality as quickly as possible with minimum garbage.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int DEFAULT_SIZE
      The default initial capacity for a new queue.
    • Constructor Summary

      Constructors 
      Constructor Description
      SynchronizedQueue()
      Constructs a new SynchronizedQueue with the default initial capacity.
      SynchronizedQueue​(int initialSize)
      Constructs a new SynchronizedQueue with the specified initial capacity.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void clear()
      Removes all elements from this queue.
      boolean offer​(T t)
      Adds the specified element to the tail of this queue.
      T poll()
      Retrieves and removes the head of this queue, or returns null if this queue is empty.
      int size()
      Returns the number of elements in this queue.
      • Methods inherited from class java.lang.Object

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

      • DEFAULT_SIZE

        public static final int DEFAULT_SIZE
        The default initial capacity for a new queue.
        See Also:
        Constant Field Values
    • Constructor Detail

      • SynchronizedQueue

        public SynchronizedQueue()
        Constructs a new SynchronizedQueue with the default initial capacity.
      • SynchronizedQueue

        public SynchronizedQueue​(int initialSize)
        Constructs a new SynchronizedQueue with the specified initial capacity.
        Parameters:
        initialSize - the initial capacity
    • Method Detail

      • offer

        public boolean offer​(T t)
        Adds the specified element to the tail of this queue.
        Parameters:
        t - the element to add
        Returns:
        true (as specified by Queue.offer(E))
      • poll

        public T poll()
        Retrieves and removes the head of this queue, or returns null if this queue is empty.
        Returns:
        the head of this queue, or null if empty
      • size

        public int size()
        Returns the number of elements in this queue.
        Returns:
        the number of elements
      • clear

        public void clear()
        Removes all elements from this queue.