Javolution 6.0.0 java
javolution.util.internal.collection.ReadWriteLockImpl Class Reference
Inheritance diagram for javolution.util.internal.collection.ReadWriteLockImpl:
[legend]
Collaboration diagram for javolution.util.internal.collection.ReadWriteLockImpl:
[legend]

Classes

class  ReadLock
 
class  WriteLock
 

Public Member Functions

ReadLock readLock ()
 
WriteLock writeLock ()
 

Public Attributes

final ReadLock readLock = new ReadLock()
 
final WriteLock writeLock = new WriteLock()
 

Private Attributes

transient int givenLocks
 
transient int waitingWriters
 
transient Thread writerThread
 

Static Private Attributes

static final long serialVersionUID = 0x600L
 

Detailed Description

Simple and efficient read/write lock implementation giving preferences to writers. Acquiring a write lock then a read lock is supported. Writers may acquire a read lock after having the write lock but the reverse would result in deadlock.

Definition at line 23 of file ReadWriteLockImpl.java.

Member Function Documentation

◆ readLock()

ReadLock javolution.util.internal.collection.ReadWriteLockImpl.readLock ( )

Definition at line 130 of file ReadWriteLockImpl.java.

130  {
131  return readLock;
132  }

References javolution.util.internal.collection.ReadWriteLockImpl.readLock.

◆ writeLock()

WriteLock javolution.util.internal.collection.ReadWriteLockImpl.writeLock ( )

Definition at line 135 of file ReadWriteLockImpl.java.

135  {
136  return writeLock;
137  }

References javolution.util.internal.collection.ReadWriteLockImpl.writeLock.

Member Data Documentation

◆ givenLocks

◆ readLock

final ReadLock javolution.util.internal.collection.ReadWriteLockImpl.readLock = new ReadLock()

Definition at line 123 of file ReadWriteLockImpl.java.

Referenced by javolution.util.internal.collection.SharedCollectionImpl< E >.clone(), javolution.util.internal.collection.SharedCollectionImpl< E >.contains(), javolution.util.internal.collection.SharedCollectionImpl< E >.containsAll(), javolution.util.internal.map.SharedMapImpl< K, V >.containsKey(), javolution.util.internal.map.SharedMapImpl< K, V >.containsValue(), javolution.util.internal.collection.SharedCollectionImpl< E >.equals(), javolution.util.internal.set.sorted.SharedSortedSetImpl< E >.first(), javolution.util.internal.map.sorted.SharedSortedMapImpl< K, V >.firstKey(), javolution.util.internal.table.SharedTableImpl< E >.get(), javolution.util.internal.map.SharedMapImpl< K, V >.get(), javolution.util.internal.table.SharedTableImpl< E >.getFirst(), javolution.util.internal.table.SharedTableImpl< E >.getLast(), javolution.util.internal.collection.SharedCollectionImpl< E >.hashCode(), javolution.util.internal.table.SharedTableImpl< E >.indexOf(), javolution.util.internal.map.SharedMapImpl< K, V >.isEmpty(), javolution.util.internal.collection.SharedCollectionImpl< E >.isEmpty(), javolution.util.internal.map.SharedMapImpl< K, V >.IteratorImpl.IteratorImpl(), javolution.util.internal.collection.SharedCollectionImpl< E >.IteratorImpl.IteratorImpl(), javolution.util.internal.set.sorted.SharedSortedSetImpl< E >.last(), javolution.util.internal.table.SharedTableImpl< E >.lastIndexOf(), javolution.util.internal.map.sorted.SharedSortedMapImpl< K, V >.lastKey(), javolution.util.internal.table.SharedTableImpl< E >.peekFirst(), javolution.util.internal.table.SharedTableImpl< E >.peekLast(), javolution.util.internal.collection.SharedCollectionImpl< E >.perform(), javolution.util.internal.table.sorted.SharedSortedTableImpl< E >.positionOf(), javolution.util.internal.collection.ReadWriteLockImpl.readLock(), javolution.util.internal.map.SharedMapImpl< K, V >.size(), javolution.util.internal.collection.SharedCollectionImpl< E >.size(), javolution.util.internal.map.SharedMapImpl< K, V >.split(), javolution.util.internal.collection.SharedCollectionImpl< E >.split(), and javolution.util.internal.collection.SharedCollectionImpl< E >.toArray().

◆ serialVersionUID

final long javolution.util.internal.collection.ReadWriteLockImpl.serialVersionUID = 0x600L
staticprivate

Definition at line 122 of file ReadWriteLockImpl.java.

◆ waitingWriters

transient int javolution.util.internal.collection.ReadWriteLockImpl.waitingWriters
private

◆ writeLock

final WriteLock javolution.util.internal.collection.ReadWriteLockImpl.writeLock = new WriteLock()

Definition at line 124 of file ReadWriteLockImpl.java.

Referenced by javolution.util.internal.table.SharedTableImpl< E >.add(), javolution.util.internal.collection.SharedCollectionImpl< E >.add(), javolution.util.internal.table.SharedTableImpl< E >.addAll(), javolution.util.internal.collection.SharedCollectionImpl< E >.addAll(), javolution.util.internal.table.SharedTableImpl< E >.addFirst(), javolution.util.internal.table.sorted.SharedSortedTableImpl< E >.addIfAbsent(), javolution.util.internal.table.SharedTableImpl< E >.addLast(), javolution.util.internal.map.SharedMapImpl< K, V >.clear(), javolution.util.internal.collection.SharedCollectionImpl< E >.clear(), javolution.util.internal.table.SharedTableImpl< E >.offerFirst(), javolution.util.internal.table.SharedTableImpl< E >.offerLast(), javolution.util.internal.table.SharedTableImpl< E >.pollFirst(), javolution.util.internal.table.SharedTableImpl< E >.pollLast(), javolution.util.internal.map.SharedMapImpl< K, V >.put(), javolution.util.internal.map.SharedMapImpl< K, V >.putAll(), javolution.util.internal.map.SharedMapImpl< K, V >.putIfAbsent(), javolution.util.internal.map.SharedMapImpl< K, V >.remove(), javolution.util.internal.collection.SharedCollectionImpl< E >.remove(), javolution.util.internal.table.SharedTableImpl< E >.remove(), javolution.util.internal.collection.SharedCollectionImpl< E >.removeAll(), javolution.util.internal.table.SharedTableImpl< E >.removeFirst(), javolution.util.internal.table.SharedTableImpl< E >.removeFirstOccurrence(), javolution.util.internal.table.SharedTableImpl< E >.removeLast(), javolution.util.internal.table.SharedTableImpl< E >.removeLastOccurrence(), javolution.util.internal.map.SharedMapImpl< K, V >.replace(), javolution.util.internal.collection.SharedCollectionImpl< E >.retainAll(), javolution.util.internal.table.SharedTableImpl< E >.set(), and javolution.util.internal.collection.ReadWriteLockImpl.writeLock().

◆ writerThread


The documentation for this class was generated from the following file:
javolution.util.internal.collection.ReadWriteLockImpl.writeLock
final WriteLock writeLock
Definition: ReadWriteLockImpl.java:124
javolution.util.internal.collection.ReadWriteLockImpl.readLock
final ReadLock readLock
Definition: ReadWriteLockImpl.java:123