Lines Matching refs:tail
51 * producer. The <em>tail</em> of the queue is that element that has
111 * (unmatched) queue node (or null if empty); and "tail" that
116 * head tail
123 * tail pointers. This has led to the development of
159 * updates on head/tail fields.
162 * never versus always updating queue (head and tail) pointers.
169 * head tail
176 * similarly for "tail") is an empirical matter. We have found
183 * virtue of only sometimes updating head or tail pointers when
208 * known first unmatched node, and similarly for tail. Again, this
228 * current tail starting from "tail" may also encounter
235 * And while direct writes are possible for tail updates, they
247 * threshold of two -- that is, we update head/tail when the
264 * We allow both the head and tail fields to be null before any
303 * Starting at current tail pointer, find the actual last node
561 /** tail of the queue; null until first append */
562 private transient volatile Node tail;
651 * Tries to append node s as tail.
660 for (Node t = tail, p = t;;) { // move p to last node and append
661 Node n, u; // temps for reads of next & tail
669 p = p != t && t != (u = tail) ? (t = u) : // stale tail
675 while ((tail != t || !casTail(t, s)) &&
676 (t = tail) != null &&
1033 * Inserts the specified element at the tail of this queue.
1043 * Inserts the specified element at the tail of this queue.
1057 * Inserts the specified element at the tail of this queue.
1069 * Inserts the specified element at the tail of this queue.
1101 * else inserts the specified element at the tail of this queue
1120 * else inserts the specified element at the tail of this queue
1193 * The elements will be returned in order from first (head) to last (tail).
1344 (k.getDeclaredField("tail"));