Concurrent Collections Flashcards
This interface extends the Queue interface. If the queue is empty, it blocks until an element is inserted, and if the queue is full, it blocks until an element is remmoved.
java.util.concurrent.BlockingQueue
This class provides a fixed size array based concrete implementation of the BlockingQueue interface.
java.util.concurrent.ArrayBlockingQueue
This class provides a linked-list based implementation of the BlockingQueue interface.
java.util.concurrent.LinkedBlockingQueue
This class implements BlockingQueue and consists of elements that are of type Delayed. An element can be retrieved from this queue only after its delay period.
java.util.concurrent.DelayQueue
Equivalent to java.util.PriorityQueue, but implements the BlockingQueue interface.
java.util.concurrent.PriorityBlockingQueue
This class implements BlockingQueue. In this container, each insert() by a thread blocks for a corresponding remove() by another thread and vice versa.
java.util.concurrent.SynchronousQueue
Analogous to Hashtable, but with safe concurrent access and updates.
java.util.concurrent.ConcurrentHashMap
Analogous to TreeMap, but provides safe concurrent access and updates.
java.util.concurrent.ConcurrentSkipListMap
Analogous to TreeSet, but provides safe concurrent access and updates.
java.util.concurrent.ConcurrentSkipListSet
Similar to ArrayList, but provides safe concurrent access. When the ArrayList is updated, it creates a fresh copy of the underlying array.
java.util.concurrent.CopyOnWriteArrayList
A Set implementation, but provides safe concurrent access and is implemented using CopyOnWriteArrayList. When the container is updated, it creates a fresh copy of the underlying array.
java.util.concurrent.CopyOnWriteArraySet