Package gw.util
Class PromotableReadWriteLock
- java.lang.Object
-
- gw.util.PromotableReadWriteLock
-
- All Implemented Interfaces:
java.util.concurrent.locks.Lock
public class PromotableReadWriteLock extends java.lang.Object implements java.util.concurrent.locks.Lock
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static classPromotableReadWriteLock.State
-
Field Summary
Fields Modifier and Type Field Description private java.util.concurrent.locks.ReentrantReadWriteLock_rwlockprivate java.lang.ThreadLocal<PromotableReadWriteLock.State>_statePerThread
-
Constructor Summary
Constructors Constructor Description PromotableReadWriteLock()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private PromotableReadWriteLock.StategetState()voidlock()voidlockInterruptibly()voidlockRead()voidlockWrite()java.util.concurrent.locks.ConditionnewCondition()protected voidreacquireReadLocks()protected voidreleaseReadLocks()booleantryLock()booleantryLock(long time, java.util.concurrent.TimeUnit unit)voidunlock()voidunlockRead()voidunlockWrite()
-
-
-
Field Detail
-
_rwlock
private java.util.concurrent.locks.ReentrantReadWriteLock _rwlock
-
_statePerThread
private java.lang.ThreadLocal<PromotableReadWriteLock.State> _statePerThread
-
-
Method Detail
-
lockRead
public void lockRead()
-
unlockRead
public void unlockRead()
-
lockWrite
public void lockWrite()
-
unlockWrite
public void unlockWrite()
-
getState
private PromotableReadWriteLock.State getState()
-
releaseReadLocks
protected void releaseReadLocks()
-
reacquireReadLocks
protected void reacquireReadLocks()
-
lock
public void lock()
- Specified by:
lockin interfacejava.util.concurrent.locks.Lock
-
unlock
public void unlock()
- Specified by:
unlockin interfacejava.util.concurrent.locks.Lock
-
lockInterruptibly
public void lockInterruptibly() throws java.lang.InterruptedException- Specified by:
lockInterruptiblyin interfacejava.util.concurrent.locks.Lock- Throws:
java.lang.InterruptedException
-
tryLock
public boolean tryLock()
- Specified by:
tryLockin interfacejava.util.concurrent.locks.Lock
-
tryLock
public boolean tryLock(long time, java.util.concurrent.TimeUnit unit) throws java.lang.InterruptedException- Specified by:
tryLockin interfacejava.util.concurrent.locks.Lock- Throws:
java.lang.InterruptedException
-
newCondition
public java.util.concurrent.locks.Condition newCondition()
- Specified by:
newConditionin interfacejava.util.concurrent.locks.Lock
-
-