Lines Matching refs:head

56  * The <em>head</em> of the queue is that element that has been on the
61 * operations obtain elements at the head of the queue.
128 * head as well.
130 * Nodes that are reachable from head. CASing the item
132 * queue. Reachability of all elements from head must remain
134 * head to advance. A dequeued Node may remain in use
148 * self-link implicitly means to advance to head.
150 * Both head and tail are permitted to lag. In fact, failing to
154 * that is, we update head/tail when the current pointer appears
157 * Since head and tail are updated concurrently and independently,
158 * it is possible for tail to lag behind head (why not)?
173 * Both head and tail may or may not point to a Node with a
175 * be null. Upon creation, both head and tail refer to a dummy
176 * Node with null item. Both head and tail are only updated using
212 * - all live nodes are reachable from head via succ()
213 * - head != null
214 * - (tmp = head).next != tmp || tmp != head
216 * - head.item may or may not be null.
217 * - it is permitted for tail to lag behind head, that is, for tail
218 * to not be reachable from head!
220 transient volatile Node<E> head;
230 * - it is permitted for tail to lag behind head, that is, for tail
231 * to not be reachable from head!
240 head = tail = newNode(null);
265 head = h;
284 * Tries to CAS head to p. If successful, repoint old head to itself
294 * Returns the successor of p, or the head node if p.next has been
300 return (p == next) ? head : next;
330 // jump to head, from which all live nodes are always
332 p = (t != (t = tail)) ? t : head;
342 for (Node<E> h = head, p = h, q;;) {
367 for (Node<E> h = head, p = h, q;;) {
392 for (Node<E> h = head, p = h, q;;) {
552 // jump to head, from which all live nodes are always
554 p = (t != (t = tail)) ? t : head;
677 * The elements will be returned in order from first (head) to last (tail).
710 for (p = h = head;; p = q) {
810 head = h;
940 (ConcurrentLinkedQueue.class.getDeclaredField("head"));