private volatile int readCount = 0; // Must be volatile so we don't have to synchronize getReadCount.
private volatile int writeCount = 0; // Must be volatile so we don't have to synchronize getWriteCount.
private Thread writeOwner = null;
private volatile int readCount = 0; // Must be volatile so we don't have to synchronize getReadCount.
private volatile int writeCount = 0; // Must be volatile so we don't have to synchronize getWriteCount.
private Thread writeOwner = null;