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

Public Member Functions

void lock ()
 
void lockInterruptibly () throws InterruptedException
 
Condition newCondition ()
 
boolean tryLock ()
 
boolean tryLock (long time, TimeUnit unit) throws InterruptedException
 
void unlock ()
 

Static Private Attributes

static final long serialVersionUID = 0x600L
 

Detailed Description

Read-Lock Implementation.

Definition at line 26 of file ReadWriteLockImpl.java.

Member Function Documentation

◆ lock()

void javolution.util.internal.collection.ReadWriteLockImpl.ReadLock.lock ( )

Definition at line 30 of file ReadWriteLockImpl.java.

30  {
31  try {
33  } catch (java.lang.InterruptedException e) {}
34  }

References javolution.util.internal.collection.ReadWriteLockImpl.ReadLock.lockInterruptibly().

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.collection.SharedCollectionImpl< E >.IteratorImpl.IteratorImpl(), javolution.util.internal.map.SharedMapImpl< K, V >.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.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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ lockInterruptibly()

void javolution.util.internal.collection.ReadWriteLockImpl.ReadLock.lockInterruptibly ( ) throws InterruptedException

Definition at line 37 of file ReadWriteLockImpl.java.

37  {
38  synchronized (ReadWriteLockImpl.this) {
39  if (writerThread == Thread.currentThread()) return; // Current thread has the writer lock.
40  while ((writerThread != null) || (waitingWriters != 0)) {
41  ReadWriteLockImpl.this.wait();
42  }
43  givenLocks++;
44  }
45  }

References javolution.util.internal.collection.ReadWriteLockImpl.givenLocks, javolution.util.internal.collection.ReadWriteLockImpl.waitingWriters, and javolution.util.internal.collection.ReadWriteLockImpl.writerThread.

Referenced by javolution.util.internal.collection.ReadWriteLockImpl.ReadLock.lock().

Here is the caller graph for this function:

◆ newCondition()

Condition javolution.util.internal.collection.ReadWriteLockImpl.ReadLock.newCondition ( )

Definition at line 48 of file ReadWriteLockImpl.java.

48  {
49  throw new UnsupportedOperationException();
50  }

◆ tryLock() [1/2]

boolean javolution.util.internal.collection.ReadWriteLockImpl.ReadLock.tryLock ( )

Definition at line 53 of file ReadWriteLockImpl.java.

53  {
54  throw new UnsupportedOperationException();
55  }

◆ tryLock() [2/2]

boolean javolution.util.internal.collection.ReadWriteLockImpl.ReadLock.tryLock ( long  time,
TimeUnit  unit 
) throws InterruptedException

Definition at line 58 of file ReadWriteLockImpl.java.

59  {
60  throw new UnsupportedOperationException();
61  }

◆ unlock()

void javolution.util.internal.collection.ReadWriteLockImpl.ReadLock.unlock ( )

Definition at line 64 of file ReadWriteLockImpl.java.

64  {
65  synchronized (ReadWriteLockImpl.this) {
66  if (writerThread == Thread.currentThread()) return; // Itself is the writing thread.
67  assert (givenLocks > 0);
68  givenLocks--;
69  ReadWriteLockImpl.this.notifyAll();
70  }
71  }

References javolution.util.internal.collection.ReadWriteLockImpl.givenLocks, and javolution.util.internal.collection.ReadWriteLockImpl.writerThread.

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.collection.SharedCollectionImpl< E >.IteratorImpl.IteratorImpl(), javolution.util.internal.map.SharedMapImpl< K, V >.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.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().

Here is the caller graph for this function:

Member Data Documentation

◆ serialVersionUID

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

Definition at line 27 of file ReadWriteLockImpl.java.


The documentation for this class was generated from the following file:
javolution.util.internal.collection.ReadWriteLockImpl.waitingWriters
transient int waitingWriters
Definition: ReadWriteLockImpl.java:126
javolution.util.internal.collection.ReadWriteLockImpl.ReadLock.lockInterruptibly
void lockInterruptibly()
Definition: ReadWriteLockImpl.java:37
javolution.util.internal.collection.ReadWriteLockImpl.writerThread
transient Thread writerThread
Definition: ReadWriteLockImpl.java:127
javolution.util.internal.collection.ReadWriteLockImpl.givenLocks
transient int givenLocks
Definition: ReadWriteLockImpl.java:125
Thread