Package com.github.benmanes.caffeine
Class SCQHeader.HeadAndTailRef<E>
java.lang.Object
java.util.AbstractCollection<E>
java.util.AbstractQueue<E>
com.github.benmanes.caffeine.SCQHeader.PadHead<E>
com.github.benmanes.caffeine.SCQHeader.HeadRef<E>
com.github.benmanes.caffeine.SCQHeader.PadHeadAndTail<E>
com.github.benmanes.caffeine.SCQHeader.HeadAndTailRef<E>
- All Implemented Interfaces:
Iterable<E>
,Collection<E>
,Queue<E>
- Direct Known Subclasses:
SingleConsumerQueue
- Enclosing class:
- SCQHeader
Enforces a memory layout to avoid false sharing by padding the tail node.
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) SingleConsumerQueue.Node<E>
(package private) static final long
Fields inherited from class com.github.benmanes.caffeine.SCQHeader.PadHeadAndTail
p20, p21, p22, p23, p24, p25, p26, p27, p30, p31, p32, p33, p34, p35, p36
Fields inherited from class com.github.benmanes.caffeine.SCQHeader.HeadRef
head
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) boolean
casTail
(SingleConsumerQueue.Node<E> expect, SingleConsumerQueue.Node<E> update) (package private) void
lazySetTail
(SingleConsumerQueue.Node<E> next) Methods inherited from class java.util.AbstractCollection
contains, containsAll, isEmpty, iterator, remove, removeAll, retainAll, size, toArray, toArray, toString
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.util.Collection
contains, containsAll, equals, hashCode, isEmpty, iterator, parallelStream, remove, removeAll, removeIf, retainAll, size, spliterator, stream, toArray, toArray, toArray
-
Field Details
-
TAIL_OFFSET
static final long TAIL_OFFSET -
tail
-
-
Constructor Details
-
HeadAndTailRef
HeadAndTailRef()
-
-
Method Details
-
lazySetTail
-
casTail
-