public interface Latch
Modifier and Type | Method and Description |
---|---|
void |
acquire()
Acquire a latch for exclusive/write access.
|
boolean |
acquireNoWait()
Acquire a latch for exclusive/write access, but do not block if it's not
available.
|
LatchStats |
getLatchStats() |
boolean |
isOwner()
Return true if the current thread holds this latch.
|
int |
nWaiters()
Return the number of threads waiting.
|
java.lang.Thread |
owner()
Used only for unit tests.
|
void |
release()
Release the latch.
|
void |
releaseIfOwner()
Release the latch.
|
void |
setName(java.lang.String name)
Set the latch name, used for latches in objects instantiated from
the log.
|
java.lang.String |
toString()
Formats a latch owner and waiters.
|
void setName(java.lang.String name)
void acquire() throws DatabaseException
Wait for the latch if some other thread is holding it. If there are threads waiting for access, they will be granted the latch on a FIFO basis. When the method returns, the latch is held for exclusive access.
LatchException
- if the latch is already held by the calling
thread.RunRecoveryException
- if an InterruptedException exception
occurs.DatabaseException
boolean acquireNoWait() throws LatchException
LatchException
- if the latch is already held by the calling
thread.void releaseIfOwner()
void release() throws LatchNotHeldException
LatchNotHeldException
- if the latch is not currently held.boolean isOwner()
java.lang.Thread owner()
int nWaiters()
LatchStats getLatchStats()
java.lang.String toString()
toString
in class java.lang.Object