Class ConcurrentQueueFactory.GenericQueue<E>
java.lang.Object
java.util.AbstractCollection<E>
java.util.AbstractQueue<E>
java.util.concurrent.ConcurrentLinkedQueue<E>
org.jctools.queues.alt.ConcurrentQueueFactory.GenericQueue<E>
- All Implemented Interfaces:
Serializable, Iterable<E>, Collection<E>, Queue<E>, ConcurrentQueue<E>, ConcurrentQueueConsumer<E>, ConcurrentQueueProducer<E>
- Enclosing class:
ConcurrentQueueFactory
public static final class ConcurrentQueueFactory.GenericQueue<E>
extends ConcurrentLinkedQueue<E>
implements ConcurrentQueue<E>, ConcurrentQueueConsumer<E>, ConcurrentQueueProducer<E>
- See Also:
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintcapacity()intconsume(ConsumerFunction<E> consumer, int batchSize) As many elements as are visible are delivered to theConsumer.consumer()intproduce(ProducerFunction<E> producer, int batchSize) producer()booleanweakPeek()Return the next element from the queue, but don't remove it.weakPoll()Remove the next element from the queue and return it.Methods inherited from class ConcurrentLinkedQueue
add, addAll, clear, contains, forEach, isEmpty, iterator, offer, peek, poll, remove, removeAll, removeIf, retainAll, size, spliterator, toArray, toArray, toStringMethods inherited from class AbstractQueue
element, removeMethods inherited from class AbstractCollection
containsAllMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface Collection
containsAll, equals, hashCode, parallelStream, stream, toArrayMethods inherited from interface ConcurrentQueue
sizeMethods inherited from interface ConcurrentQueueConsumer
clear, peek, pollMethods inherited from interface ConcurrentQueueProducer
offer
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
-
Constructor Details
-
GenericQueue
public GenericQueue()
-
-
Method Details
-
consumer
- Specified by:
consumerin interfaceConcurrentQueue<E>- Returns:
- a consumer instance to be used from a consuming thread.
-
producer
- Specified by:
producerin interfaceConcurrentQueue<E>- Returns:
- a producer instance to be used from a producing thread.
-
capacity
public int capacity()- Specified by:
capacityin interfaceConcurrentQueue<E>- Returns:
- the maximum number of elements that can fit in this queue, or -1 if unbounded.
-
produce
- Specified by:
producein interfaceConcurrentQueueProducer<E>
-
consume
Description copied from interface:ConcurrentQueueConsumerAs many elements as are visible are delivered to theConsumer.- Specified by:
consumein interfaceConcurrentQueueConsumer<E>- Parameters:
batchSize- this is the limit on the batch consume operation, but it is possible that less are available- Returns:
- number of elements consumed
-
weakOffer
- Specified by:
weakOfferin interfaceConcurrentQueueProducer<E>- Parameters:
e-- Returns:
- true if e was successfully offered, false if not able to offer (queue may not be full)
-
weakPoll
Description copied from interface:ConcurrentQueueConsumerRemove the next element from the queue and return it.- Specified by:
weakPollin interfaceConcurrentQueueConsumer<E>- Returns:
- next element or null if next element is not available (queue may not be empty)
-
weakPeek
Description copied from interface:ConcurrentQueueConsumerReturn the next element from the queue, but don't remove it.- Specified by:
weakPeekin interfaceConcurrentQueueConsumer<E>- Returns:
- next element or null if next element is not available (queue may not be empty)
-