Modifier and Type | Field and Description |
---|---|
private java.util.concurrent.Semaphore |
balancer |
private int |
numPermits |
Constructor and Description |
---|
ThreadResourcesBalancer(int numPermits)
fair set to false.
|
ThreadResourcesBalancer(int numPermits,
boolean fair) |
Modifier and Type | Method and Description |
---|---|
boolean |
acquirePermit()
Acquires a permit from this balancer, blocking until one is available.
|
void |
releaseAllPermits() |
void |
releasePermit()
Releases a permit, returning it to the balancer.
|
private final java.util.concurrent.Semaphore balancer
private final int numPermits
ThreadResourcesBalancer(int numPermits)
numPermits
- number of permits to acquire when maintaining concurrency on tests.
Must be >0 and < Integer.MAX_VALUE
.ThreadResourcesBalancer(int, boolean)
ThreadResourcesBalancer(int numPermits, boolean fair)
numPermits
- number of permits to acquire when maintaining concurrency on tests.
Must be >0 and < Integer.MAX_VALUE
.fair
- true
guarantees the waiting schedulers to wake up in order they acquired a permitjava.lang.IllegalArgumentException
- if numPermits is not positive numberpublic boolean acquirePermit()
acquirePermit
in interface Balancer
true
if current thread is NOT interrupted
while waiting for a permit.public void releasePermit()
releasePermit
in interface Balancer
public void releaseAllPermits()
releaseAllPermits
in interface Balancer