Iterators are weakly consistent, returning elements reflecting the state of the deque at some point at or since the creation of the iterator. They do not throw {@link java.util.ConcurrentModificationException ConcurrentModificationException}, and may proceed concurrently with other operations.
Beware that, unlike in most collections, the {@code size} methodis NOT a constant-time operation. Because of the asynchronous nature of these deques, determining the current number of elements requires a traversal of the elements, and so may report inaccurate results if this collection is modified during traversal. Additionally, the bulk operations {@code addAll}, {@code removeAll}, {@code retainAll}, {@code containsAll}, {@code equals}, and {@code toArray} are not guaranteedto be performed atomically. For example, an iterator operating concurrently with an {@code addAll} operation might view only someof the added elements.
This class and its iterator implement all of the optional methods of the {@link Deque} and {@link Iterator} interfaces.
Memory consistency effects: As with other concurrent collections, actions in a thread prior to placing an object into a {@code ConcurrentLinkedDeque}happen-before actions subsequent to the access or removal of that element from the {@code ConcurrentLinkedDeque} in another thread.
This class is a member of the Java Collections Framework. @since 1.7 @author Doug Lea @author Martin Buchholz @author Jason T. Grene @param < E> the type of elements held in this collection
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|