Constructor and Description |
---|
WrapperReentrantGate()
Default constructor.
|
WrapperReentrantGate(Gate gate)
Construct a WrapperReentrantGate around the specified underlying gate.
|
Modifier and Type | Method and Description |
---|---|
boolean |
barEntry(long cMillis)
Bar entry to the thread gate by other threads, but do not wait for the gate to close.
|
boolean |
close(long cMillis)
Close the gate.
|
boolean |
enter(long cMillis)
Enter the gate.
|
void |
exit()
Exit the gate.
|
boolean |
isClosed()
Determine if any thread has closed the gate and continues to hold exclusive access.
|
boolean |
isClosedByCurrentThread()
Determine if the calling thread has closed the gate and continues to hold exclusive access.
|
boolean |
isEnteredByCurrentThread()
Determines if the current thread has entered the gate and not yet exited.
|
void |
open()
Re-open the closed gate.
|
public boolean close(long cMillis)
Gate.open()
method.public void open()
public boolean enter(long cMillis)
Gate.exit()
method.public void exit()
Gate.enter(long)
method.public boolean barEntry(long cMillis)
Each successful invocation of this method must ultimately have a corresponding invocation of the open method (assuming the thread gate is not destroyed) even if the calling thread does not subsequently close the gate.
gate.barEntry(-1);
try
{
// processing that does not require the gate to be closed
// ...
}
finally
{
gate.close(-1);
try
{
// processing that does require the gate to be closed
// ...
}
finally
{
gate.open(); // matches gate.close()
}
gate.open(); // matches gate.barEntry()
}
public boolean isClosedByCurrentThread()
isClosedByCurrentThread
in interface Gate
public boolean isEnteredByCurrentThread()
isEnteredByCurrentThread
in interface Gate