Module java.base
Package java.util.concurrent.locks

# Class ReentrantReadWriteLock

=
public class ReentrantReadWriteLock
extends java.lang.Object
implements java.io.Serializable, java.util.concurrent.locks.ReadWriteLock

## Nested Types

- = ReadLock
- = WriteLock

## Constructors

- =
  public ReentrantReadWriteLock()
- =
  public ReentrantReadWriteLock(boolean arg0)

## Methods

- =
  protected java.lang.Thread getOwner()
- =
  public final int getQueueLength()
- =
  protected java.util.Collection<java.lang.Thread> getQueuedReaderThreads()
- =
  protected java.util.Collection<java.lang.Thread> getQueuedThreads()
- =
  protected java.util.Collection<java.lang.Thread> getQueuedWriterThreads()
- =
  public int getReadHoldCount()
- =
  public int getReadLockCount()
- =
  public int getWaitQueueLength(java.util.concurrent.locks.Condition arg0)
- =
  protected java.util.Collection<java.lang.Thread> getWaitingThreads(java.util.concurrent.locks.Condition arg0)
- =
  public int getWriteHoldCount()
- =
  public final boolean hasQueuedThread(java.lang.Thread arg0)
- =
  public final boolean hasQueuedThreads()
- =
  public boolean hasWaiters(java.util.concurrent.locks.Condition arg0)
- =
  public final boolean isFair()
- =
  public boolean isWriteLocked()
- =
  public boolean isWriteLockedByCurrentThread()
- =
  public java.util.concurrent.locks.ReentrantReadWriteLock.ReadLock readLock()
- =
  public java.lang.String toString()
- =
  public java.util.concurrent.locks.ReentrantReadWriteLock.WriteLock writeLock()

## Serialized Form

=

### serialVersionUID

=-6992448646407690164

### Serialized Fields

- =
  java.util.concurrent.locks.ReentrantReadWriteLock.ReadLock readerLock
- =
  java.util.concurrent.locks.ReentrantReadWriteLock.Sync sync
- =
  java.util.concurrent.locks.ReentrantReadWriteLock.WriteLock writerLock

## Summary

No differences.