Class ThreadRobustList<T>

java.lang.Object
com.yahoo.concurrent.ThreadRobustList<T>
All Implemented Interfaces:
Iterable<T>

public class ThreadRobustList<T> extends Object implements Iterable<T>
A list which tolerates concurrent adds from one other thread while it is read. More precisely: This list is guaranteed to provide a self-consistent read view regardless of the internal order in which the primitive mutating operations on it are observed from the reading thread.

This is useful for traced information as there may be timed out threads working on the structure after it is returned upwards for consumption.

Author:
Steinar Knutsen, bratseth
  • Constructor Details

    • ThreadRobustList

      public ThreadRobustList()
    • ThreadRobustList

      public ThreadRobustList(int initialCapacity)
  • Method Details

    • add

      public void add(T item)
    • iterator

      public Iterator<T> iterator()
      Returns an iterator over the elements of this. This iterator does not support remove.
      Specified by:
      iterator in interface Iterable<T>
    • reverseIterator

      public Iterator<T> reverseIterator()
      Returns an iterator over the elements of this, starting at the last element and working backwards. This iterator does not support remove.
    • isEmpty

      public boolean isEmpty()