Package EDU.oswego.cs.dl.util.concurrent
Class SyncList
- java.lang.Object
-
- EDU.oswego.cs.dl.util.concurrent.SyncCollection
-
- EDU.oswego.cs.dl.util.concurrent.SyncList
-
- All Implemented Interfaces:
Iterable
,Collection
,List
public class SyncList extends SyncCollection implements List
SyncLists wrap Sync-based control around java.util.Lists. They support the following additional reader operations over SyncCollection: hashCode, equals, get, indexOf, lastIndexOf, subList. They support additional writer operations remove(int), set(int), add(int), addAll(int). The corresponding listIterators and are similarly extended.- See Also:
SyncCollection
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
SyncList.SyncCollectionListIterator
-
Nested classes/interfaces inherited from class EDU.oswego.cs.dl.util.concurrent.SyncCollection
SyncCollection.SyncCollectionIterator
-
-
Field Summary
-
Fields inherited from class EDU.oswego.cs.dl.util.concurrent.SyncCollection
c_, rd_, syncFailures_, wr_
-
-
Constructor Summary
Constructors Constructor Description SyncList(List list, ReadWriteLock rwl)
Create a new SyncList protecting the given list, and using the given ReadWriteLock to control reader and writer methods.SyncList(List list, Sync sync)
Create a new SyncList protecting the given collection, and using the given sync to control both reader and writer methods.SyncList(List list, Sync readLock, Sync writeLock)
Create a new SyncList protecting the given list, and using the given pair of locks to control reader and writer methods.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add(int index, Object o)
boolean
addAll(int index, Collection coll)
protected List
baseList()
boolean
equals(Object o)
Object
get(int index)
int
hashCode()
int
indexOf(Object o)
int
lastIndexOf(Object o)
ListIterator
listIterator()
ListIterator
listIterator(int index)
Object
remove(int index)
Object
set(int index, Object o)
List
subList(int fromIndex, int toIndex)
ListIterator
unprotectedListIterator()
ListIterator
unprotectedListIterator(int index)
-
Methods inherited from class EDU.oswego.cs.dl.util.concurrent.SyncCollection
add, addAll, afterRead, beforeRead, clear, contains, containsAll, isEmpty, iterator, readerSync, remove, removeAll, retainAll, size, syncFailures, toArray, toArray, unprotectedIterator, writerSync
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface java.util.Collection
parallelStream, removeIf, stream, toArray
-
-
-
-
Constructor Detail
-
SyncList
public SyncList(List list, Sync sync)
Create a new SyncList protecting the given collection, and using the given sync to control both reader and writer methods. Common, reasonable choices for the sync argument include Mutex, ReentrantLock, and Semaphores initialized to 1.
-
SyncList
public SyncList(List list, ReadWriteLock rwl)
Create a new SyncList protecting the given list, and using the given ReadWriteLock to control reader and writer methods.
-
-
Method Detail
-
baseList
protected List baseList()
-
hashCode
public int hashCode()
-
equals
public boolean equals(Object o)
-
lastIndexOf
public int lastIndexOf(Object o)
- Specified by:
lastIndexOf
in interfaceList
-
addAll
public boolean addAll(int index, Collection coll)
-
unprotectedListIterator
public ListIterator unprotectedListIterator()
-
listIterator
public ListIterator listIterator()
- Specified by:
listIterator
in interfaceList
-
unprotectedListIterator
public ListIterator unprotectedListIterator(int index)
-
listIterator
public ListIterator listIterator(int index)
- Specified by:
listIterator
in interfaceList
-
-