| 
 | org.codehaus.gpars | |||||||
| FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||
java.lang.Objectjava.util.concurrent.locks.ReentrantReadWriteLock
groovyx.gpars.util.EnhancedRWLock
public class EnhancedRWLock extends java.util.concurrent.locks.ReentrantReadWriteLock
Extends ReentrantReadWriteLock with handy withReadLock(Closure) and withWriteLock(Closure) methods to safely lock and unlock the lock for the passed-in closure. Use: def extendedLock = new ExtendedRWLock() extendedLock.withReadLock() {* //read lock locked here }*
| Field Summary | |
|---|---|
| private static long | serialVersionUID | 
| Constructor Summary | |
| EnhancedRWLock() | |
| EnhancedRWLock(boolean fair) | |
| Method Summary | |
|---|---|
| void | withReadLock(groovy.lang.Closure cl)Performs the passed-in closure with the write lock locked and unlocks the write lock automatically after the closure finishes. | 
| void | withWriteLock(groovy.lang.Closure cl) | 
| Methods inherited from class java.util.concurrent.locks.ReentrantReadWriteLock | |
|---|---|
| java.util.concurrent.locks.ReentrantReadWriteLock#toString(), java.util.concurrent.locks.ReentrantReadWriteLock#getQueueLength(), java.util.concurrent.locks.ReentrantReadWriteLock#getWaitQueueLength(java.util.concurrent.locks.Condition), java.util.concurrent.locks.ReentrantReadWriteLock#hasQueuedThread(java.lang.Thread), java.util.concurrent.locks.ReentrantReadWriteLock#hasQueuedThreads(), java.util.concurrent.locks.ReentrantReadWriteLock#hasWaiters(java.util.concurrent.locks.Condition), java.util.concurrent.locks.ReentrantReadWriteLock#isFair(), java.util.concurrent.locks.ReentrantReadWriteLock#readLock(), java.util.concurrent.locks.ReentrantReadWriteLock#readLock(), java.util.concurrent.locks.ReentrantReadWriteLock#writeLock(), java.util.concurrent.locks.ReentrantReadWriteLock#writeLock(), java.util.concurrent.locks.ReentrantReadWriteLock#getReadHoldCount(), java.util.concurrent.locks.ReentrantReadWriteLock#getReadLockCount(), java.util.concurrent.locks.ReentrantReadWriteLock#getWriteHoldCount(), java.util.concurrent.locks.ReentrantReadWriteLock#isWriteLocked(), java.util.concurrent.locks.ReentrantReadWriteLock#isWriteLockedByCurrentThread(), java.util.concurrent.locks.ReentrantReadWriteLock#wait(long, int), java.util.concurrent.locks.ReentrantReadWriteLock#wait(long), java.util.concurrent.locks.ReentrantReadWriteLock#wait(), java.util.concurrent.locks.ReentrantReadWriteLock#equals(java.lang.Object), java.util.concurrent.locks.ReentrantReadWriteLock#hashCode(), java.util.concurrent.locks.ReentrantReadWriteLock#getClass(), java.util.concurrent.locks.ReentrantReadWriteLock#notify(), java.util.concurrent.locks.ReentrantReadWriteLock#notifyAll() | 
| Methods inherited from class java.lang.Object | |
|---|---|
| java.lang.Object#wait(long, int), java.lang.Object#wait(long), java.lang.Object#wait(), java.lang.Object#equals(java.lang.Object), java.lang.Object#toString(), java.lang.Object#hashCode(), java.lang.Object#getClass(), java.lang.Object#notify(), java.lang.Object#notifyAll() | 
| Field Detail | 
|---|
private static final long serialVersionUID
| Constructor Detail | 
|---|
public EnhancedRWLock()
public EnhancedRWLock(boolean fair)
| Method Detail | 
|---|
public void withReadLock(groovy.lang.Closure cl)
cl -  The closure to perform with the write lock held
public void withWriteLock(groovy.lang.Closure cl)
Copyright © 2008–2013 Václav Pech. All Rights Reserved.