E
- public abstract class ConcurrentCircularArrayQueue<E> extends ConcurrentCircularArrayQueueL0Pad<E>
MessagePassingQueue.Consumer<T>, MessagePassingQueue.ExitCondition, MessagePassingQueue.Supplier<T>, MessagePassingQueue.WaitStrategy
Modifier and Type | Field and Description |
---|---|
protected E[] |
buffer |
protected long |
mask |
p01, p02, p03, p04, p05, p06, p07, p10, p11, p12, p13, p14, p15, p16, p17
UNBOUNDED_CAPACITY
Constructor and Description |
---|
ConcurrentCircularArrayQueue(int capacity) |
Modifier and Type | Method and Description |
---|---|
protected long |
calcElementOffset(long index) |
protected static long |
calcElementOffset(long index,
long mask) |
int |
capacity() |
void |
clear()
Removes all items from the queue.
|
long |
currentConsumerIndex()
This method has no concurrent visibility semantics.
|
long |
currentProducerIndex()
This method has no concurrent visibility semantics.
|
boolean |
isEmpty()
This method's accuracy is subject to concurrent modifications happening as the observation is carried
out.
|
java.util.Iterator<E> |
iterator() |
int |
size()
This method's accuracy is subject to concurrent modifications happening as the size is estimated and as
such is a best effort rather than absolute value.
|
java.lang.String |
toString() |
contains, containsAll, remove, removeAll, retainAll, toArray, toArray
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
drain, drain, drain, fill, fill, fill, offer, peek, poll, relaxedOffer, relaxedPeek, relaxedPoll
lvConsumerIndex, lvProducerIndex
protected final long mask
protected final E[] buffer
protected static long calcElementOffset(long index, long mask)
index
- desirable element indexmask
- (length - 1)protected final long calcElementOffset(long index)
index
- desirable element indexpublic java.util.Iterator<E> iterator()
public final int size()
MessagePassingQueue
size
in interface java.util.Collection<E>
size
in interface MessagePassingQueue<E>
size
in class java.util.AbstractCollection<E>
Integer.MAX_VALUE
but less or equals to
capacity (if bounded).public final boolean isEmpty()
MessagePassingQueue
isEmpty
in interface java.util.Collection<E>
isEmpty
in interface MessagePassingQueue<E>
isEmpty
in class java.util.AbstractCollection<E>
public java.lang.String toString()
toString
in class java.util.AbstractCollection<E>
public void clear()
MessagePassingQueue
Collection.clear()
interface.clear
in interface java.util.Collection<E>
clear
in interface MessagePassingQueue<E>
clear
in class java.util.AbstractQueue<E>
public int capacity()
MessagePassingQueue.UNBOUNDED_CAPACITY
if not boundedpublic final long currentProducerIndex()
QueueProgressIndicators
public final long currentConsumerIndex()
QueueProgressIndicators