Package com.google.code.yanf4j.util
Class LinkedTransferQueue.QNode
java.lang.Object
java.util.concurrent.atomic.AtomicReference<Object>
com.google.code.yanf4j.util.LinkedTransferQueue.QNode
- All Implemented Interfaces:
Serializable
- Enclosing class:
LinkedTransferQueue<E>
Node class for LinkedTransferQueue. Opportunistically subclasses from AtomicReference to
represent item. Uses Object, not E, to allow setting item to "this" after use, to avoid garbage
retention. Similarly, setting the next field to this is used as sentinel that node is off list.
-
Field Summary
FieldsModifier and TypeFieldDescription(package private) final boolean
(package private) LinkedTransferQueue.QNode
private static final AtomicReferenceFieldUpdater
<LinkedTransferQueue.QNode, LinkedTransferQueue.QNode> long
long
long
long
long
long
long
private static final long
(package private) Thread
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate boolean
(package private) boolean
Methods inherited from class java.util.concurrent.atomic.AtomicReference
accumulateAndGet, compareAndExchange, compareAndExchangeAcquire, compareAndExchangeRelease, compareAndSet, get, getAcquire, getAndAccumulate, getAndSet, getAndUpdate, getOpaque, getPlain, lazySet, set, setOpaque, setPlain, setRelease, toString, updateAndGet, weakCompareAndSet, weakCompareAndSetAcquire, weakCompareAndSetPlain, weakCompareAndSetRelease, weakCompareAndSetVolatile
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
next
-
waiter
-
isData
final boolean isData -
p1
public long p1 -
p2
public long p2 -
p3
public long p3 -
p4
public long p4 -
p5
public long p5 -
p6
public long p6 -
p7
public long p7 -
nextUpdater
private static final AtomicReferenceFieldUpdater<LinkedTransferQueue.QNode,LinkedTransferQueue.QNode> nextUpdater
-
-
Constructor Details
-
QNode
QNode(Object item, boolean isData)
-
-
Method Details
-
casNext
-
alternativeCasNext
-