org.eclipse.net4j.util.concurrent
Class RWLock
java.lang.Object
java.util.concurrent.locks.ReentrantReadWriteLock
org.eclipse.net4j.util.concurrent.RWLock
- All Implemented Interfaces:
- java.io.Serializable, java.util.concurrent.locks.ReadWriteLock
public class RWLock
- extends java.util.concurrent.locks.ReentrantReadWriteLock
- See Also:
- Serialized Form
Nested classes/interfaces inherited from class java.util.concurrent.locks.ReentrantReadWriteLock |
java.util.concurrent.locks.ReentrantReadWriteLock.ReadLock, java.util.concurrent.locks.ReentrantReadWriteLock.WriteLock |
Constructor Summary |
RWLock(long timeoutMillis)
|
RWLock(long timeoutMillis,
boolean fair)
|
Method Summary |
static
|
call(java.util.concurrent.Callable<V> callable,
java.util.concurrent.locks.Lock lock,
long timeoutMillis)
|
|
read(java.util.concurrent.Callable<V> callable)
|
void |
read(java.lang.Runnable runnable)
|
static void |
run(java.lang.Runnable runnable,
java.util.concurrent.locks.Lock lock,
long timeoutMillis)
|
|
write(java.util.concurrent.Callable<V> callable)
|
void |
write(java.lang.Runnable runnable)
|
Methods inherited from class java.util.concurrent.locks.ReentrantReadWriteLock |
getOwner, getQueuedReaderThreads, getQueuedThreads, getQueuedWriterThreads, getQueueLength, getReadLockCount, getWaitingThreads, getWaitQueueLength, getWriteHoldCount, hasQueuedThread, hasQueuedThreads, hasWaiters, isFair, isWriteLocked, isWriteLockedByCurrentThread, readLock, toString, writeLock |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
RWLock
public RWLock(long timeoutMillis)
RWLock
public RWLock(long timeoutMillis,
boolean fair)
read
public <V> V read(java.util.concurrent.Callable<V> callable)
read
public void read(java.lang.Runnable runnable)
write
public <V> V write(java.util.concurrent.Callable<V> callable)
write
public void write(java.lang.Runnable runnable)
call
public static <V> V call(java.util.concurrent.Callable<V> callable,
java.util.concurrent.locks.Lock lock,
long timeoutMillis)
run
public static void run(java.lang.Runnable runnable,
java.util.concurrent.locks.Lock lock,
long timeoutMillis)