EDU.oswego.cs.dl.util.concurrent

Class SyncSet

Implemented Interfaces:
Collection, Set
Known Direct Subclasses:
SyncSortedSet

public class SyncSet
extends SyncCollection
implements Set

SyncSets wrap Sync-based control around java.util.Sets. They support two additional reader operations than do SyncCollection: hashCode and equals.

[ Introduction to this package. ]

See Also:
SyncCollection

Nested Class Summary

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

SyncSet(Set set, ReadWriteLock rwl)
Create a new SyncSet protecting the given set, and using the given ReadWriteLock to control reader and writer methods.
SyncSet(Set set, Sync sync)
Create a new SyncSet protecting the given collection, and using the given sync to control both reader and writer methods.
SyncSet(Set set, Sync readLock, Sync writeLock)
Create a new SyncSet protecting the given set, and using the given pair of locks to control reader and writer methods.

Method Summary

boolean
equals(Object o)
int
hashCode()

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

Constructor Details

SyncSet

public SyncSet(Set set,
               ReadWriteLock rwl)
Create a new SyncSet protecting the given set, and using the given ReadWriteLock to control reader and writer methods.


SyncSet

public SyncSet(Set set,
               Sync sync)
Create a new SyncSet 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.


SyncSet

public SyncSet(Set set,
               Sync readLock,
               Sync writeLock)
Create a new SyncSet protecting the given set, and using the given pair of locks to control reader and writer methods.

Method Details

equals

public boolean equals(Object o)


hashCode

public int hashCode()