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
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:
-
Nested Class Summary
Nested ClassesNested 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
ConstructorsConstructorDescriptionSyncList
(List list, ReadWriteLock rwl) Create a new SyncList protecting the given list, and using the given ReadWriteLock to control reader and writer methods.Create a new SyncList protecting the given collection, and using the given sync to control both reader and writer methods.Create a new SyncList protecting the given list, and using the given pair of locks to control reader and writer methods. -
Method Summary
Modifier and TypeMethodDescriptionvoid
boolean
addAll
(int index, Collection coll) protected List
baseList()
boolean
get
(int index) int
hashCode()
int
int
listIterator
(int index) remove
(int index) subList
(int fromIndex, int toIndex) 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 Details
-
SyncList
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
Create a new SyncList protecting the given list, and using the given ReadWriteLock to control reader and writer methods. -
SyncList
Create a new SyncList protecting the given list, and using the given pair of locks to control reader and writer methods.
-
-
Method Details
-
baseList
-
hashCode
public int hashCode() -
equals
-
get
-
indexOf
-
lastIndexOf
- Specified by:
lastIndexOf
in interfaceList
-
subList
-
set
-
remove
-
add
-
addAll
-
unprotectedListIterator
-
listIterator
- Specified by:
listIterator
in interfaceList
-
unprotectedListIterator
-
listIterator
- Specified by:
listIterator
in interfaceList
-