org.metasyntactic.thread
Class SingleReaderWriterMonitor

java.lang.Object
  |
  +--org.metasyntactic.thread.SingleReaderWriterMonitor
All Implemented Interfaces:
ReaderWriterMonitor

public class SingleReaderWriterMonitor
extends java.lang.Object
implements ReaderWriterMonitor

This is equivalent to a Semaphore.

See Also:
ReaderWriterMonitor

Field Summary
protected  boolean locked
           
protected  int n
          Number readers reading and writers writing, 0 or 1.
 
Constructor Summary
SingleReaderWriterMonitor()
           
 
Method Summary
 void startReading()
          Called to begin reading the shared data structure.
 void startWriting()
          Called to begin writing the shared data structure.
 void stopReading()
          Called when the thread is finished reading the shared data structure.
 void stopWriting()
          Called when the thread is finished writing the shared data structure.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

n

protected int n
Number readers reading and writers writing, 0 or 1.


locked

protected boolean locked
Constructor Detail

SingleReaderWriterMonitor

public SingleReaderWriterMonitor()
Method Detail

startReading

public void startReading()
                  throws java.lang.InterruptedException
Description copied from interface: ReaderWriterMonitor
Called to begin reading the shared data structure. exception InterruptedException If interrupted while waiting for access.

Specified by:
startReading in interface ReaderWriterMonitor
Throws:
java.lang.InterruptedException - When the thread is interrupted before starting

stopReading

public void stopReading()
Description copied from interface: ReaderWriterMonitor
Called when the thread is finished reading the shared data structure.

Specified by:
stopReading in interface ReaderWriterMonitor

startWriting

public void startWriting()
                  throws java.lang.InterruptedException
Description copied from interface: ReaderWriterMonitor
Called to begin writing the shared data structure. exception InterruptedException If interrupted while waiting for access.

Specified by:
startWriting in interface ReaderWriterMonitor
Throws:
java.lang.InterruptedException - When the thread is interrupted before starting

stopWriting

public void stopWriting()
Description copied from interface: ReaderWriterMonitor
Called when the thread is finished writing the shared data structure.

Specified by:
stopWriting in interface ReaderWriterMonitor