Class ReaderWriterLock


  • public class ReaderWriterLock
    extends java.lang.Object
    A reader-writer lock from "Java Threads" by Scott Oak and Henry Wong.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.util.ArrayList waiters
      The waiting threads.
    • Constructor Summary

      Constructors 
      Constructor Description
      ReaderWriterLock()
      Default constructor.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private int firstWriter()
      Returns the index of the first waiting writer.
      private int getIndex​(java.lang.Thread t)
      Returns the index of a thread.
      void lockRead()
      Grab the read lock.
      void lockWrite()
      Grab the write lock.
      void unlock()
      Unlock.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • waiters

        private java.util.ArrayList waiters
        The waiting threads.
    • Constructor Detail

      • ReaderWriterLock

        public ReaderWriterLock()
        Default constructor.
    • Method Detail

      • lockRead

        public void lockRead()
        Grab the read lock.
      • lockWrite

        public void lockWrite()
        Grab the write lock.
      • unlock

        public void unlock()
        Unlock.
      • firstWriter

        private int firstWriter()
        Returns the index of the first waiting writer.
        Returns:
        The index.
      • getIndex

        private int getIndex​(java.lang.Thread t)
        Returns the index of a thread.
        Parameters:
        t - the thread.
        Returns:
        The index.