Package aQute.bnd.build
Class WorkspaceLock
- java.lang.Object
-
- java.util.concurrent.locks.ReentrantReadWriteLock
-
- aQute.bnd.build.WorkspaceLock
-
- All Implemented Interfaces:
java.io.Serializable,java.util.concurrent.locks.ReadWriteLock
final class WorkspaceLock extends java.util.concurrent.locks.ReentrantReadWriteLockReentrantReadWriteLock lock for serializing access to the Workspace.
-
-
Field Summary
Fields Modifier and Type Field Description private static org.slf4j.Loggerloggerprivate java.util.concurrent.atomic.AtomicIntegerprogressprivate static longserialVersionUID
-
Constructor Summary
Constructors Constructor Description WorkspaceLock(boolean fair)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private java.util.concurrent.CancellationExceptioncanceled(java.util.concurrent.locks.Lock lock)private java.lang.StringdumpAllThreads()private java.lang.ThrowablegetOwnerCause()(package private) <T> Tlocked(java.util.concurrent.locks.Lock lock, long timeoutInMs, java.util.concurrent.Callable<T> callable, java.util.function.BooleanSupplier canceled)private java.util.concurrent.TimeoutExceptiontimeout(java.util.concurrent.locks.Lock lock)private voidtrace(java.lang.String name, java.util.concurrent.locks.Lock lock)private java.lang.Stringtype(java.util.concurrent.locks.Lock lock)(package private) <T,U>
TwriteReadLocked(long timeoutInMs, java.util.concurrent.Callable<U> underWrite, FunctionWithException<U,T> underRead, java.util.function.BooleanSupplier canceled)-
Methods inherited from class java.util.concurrent.locks.ReentrantReadWriteLock
getOwner, getQueuedReaderThreads, getQueuedThreads, getQueuedWriterThreads, getQueueLength, getReadHoldCount, getReadLockCount, getWaitingThreads, getWaitQueueLength, getWriteHoldCount, hasQueuedThread, hasQueuedThreads, hasWaiters, isFair, isWriteLocked, isWriteLockedByCurrentThread, readLock, toString, writeLock
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
logger
private static final org.slf4j.Logger logger
-
progress
private final java.util.concurrent.atomic.AtomicInteger progress
-
-
Method Detail
-
type
private java.lang.String type(java.util.concurrent.locks.Lock lock)
-
trace
private void trace(java.lang.String name, java.util.concurrent.locks.Lock lock)
-
getOwnerCause
private java.lang.Throwable getOwnerCause()
-
dumpAllThreads
private java.lang.String dumpAllThreads()
-
canceled
private java.util.concurrent.CancellationException canceled(java.util.concurrent.locks.Lock lock)
-
timeout
private java.util.concurrent.TimeoutException timeout(java.util.concurrent.locks.Lock lock)
-
writeReadLocked
<T,U> T writeReadLocked(long timeoutInMs, java.util.concurrent.Callable<U> underWrite, FunctionWithException<U,T> underRead, java.util.function.BooleanSupplier canceled) throws java.lang.Exception- Throws:
java.lang.Exception
-
locked
<T> T locked(java.util.concurrent.locks.Lock lock, long timeoutInMs, java.util.concurrent.Callable<T> callable, java.util.function.BooleanSupplier canceled) throws java.lang.Exception- Throws:
java.lang.Exception
-
-