static final class LinkedTransferQueue.Node
extends java.lang.Object
限定符和类型 | 字段和说明 |
---|---|
(专用程序包) boolean |
isData |
(专用程序包) java.lang.Object |
item |
private static long |
itemOffset |
(专用程序包) LinkedTransferQueue.Node |
next |
private static long |
nextOffset |
private static long |
serialVersionUID |
private static sun.misc.Unsafe |
UNSAFE |
(专用程序包) java.lang.Thread |
waiter |
private static long |
waiterOffset |
构造器和说明 |
---|
LinkedTransferQueue.Node(java.lang.Object item,
boolean isData)
Creates a new node.
|
限定符和类型 | 方法和说明 |
---|---|
(专用程序包) boolean |
cannotPrecede(boolean haveData)
Returns true if a node with the given mode cannot be
appended to this node because this node is unmatched and
has opposite data mode.
|
(专用程序包) boolean |
casItem(java.lang.Object cmp,
java.lang.Object val) |
(专用程序包) boolean |
casNext(LinkedTransferQueue.Node cmp,
LinkedTransferQueue.Node val) |
(专用程序包) void |
forgetContents()
Sets item to self and waiter to null, to avoid garbage
retention after matching or cancelling.
|
(专用程序包) void |
forgetNext()
Links node to itself to avoid garbage retention.
|
(专用程序包) boolean |
isMatched()
Returns true if this node has been matched, including the
case of artificial matches due to cancellation.
|
(专用程序包) boolean |
isUnmatchedRequest()
Returns true if this is an unmatched request node.
|
(专用程序包) boolean |
tryMatchData()
Tries to artificially match a data node -- used by remove.
|
final boolean isData
volatile java.lang.Object item
volatile LinkedTransferQueue.Node next
volatile java.lang.Thread waiter
private static final sun.misc.Unsafe UNSAFE
private static final long nextOffset
private static final long itemOffset
private static final long waiterOffset
private static final long serialVersionUID
LinkedTransferQueue.Node(java.lang.Object item, boolean isData)
final boolean casNext(LinkedTransferQueue.Node cmp, LinkedTransferQueue.Node val)
final boolean casItem(java.lang.Object cmp, java.lang.Object val)
final void forgetNext()
final void forgetContents()
final boolean isMatched()
final boolean isUnmatchedRequest()
final boolean cannotPrecede(boolean haveData)
final boolean tryMatchData()