Class ThreadResourcesBalancer
- java.lang.Object
-
- org.apache.maven.surefire.junitcore.pc.ThreadResourcesBalancer
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.concurrent.Semaphorebalancerprivate intnumPermits
-
Constructor Summary
Constructors Constructor Description ThreadResourcesBalancer(int numPermits)fair set to false.ThreadResourcesBalancer(int numPermits, boolean fair)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanacquirePermit()Acquires a permit from this balancer, blocking until one is available.voidreleaseAllPermits()voidreleasePermit()Releases a permit, returning it to the balancer.
-
-
-
Constructor Detail
-
ThreadResourcesBalancer
ThreadResourcesBalancer(int numPermits)
fair set to false.- Parameters:
numPermits- number of permits to acquire when maintaining concurrency on tests. Must be >0 and <Integer.MAX_VALUE.- See Also:
ThreadResourcesBalancer(int, boolean)
-
ThreadResourcesBalancer
ThreadResourcesBalancer(int numPermits, boolean fair)- Parameters:
numPermits- number of permits to acquire when maintaining concurrency on tests. Must be >0 and <Integer.MAX_VALUE.fair-trueguarantees the waiting schedulers to wake up in order they acquired a permit- Throws:
java.lang.IllegalArgumentException- if numPermits is not positive number
-
-
Method Detail
-
acquirePermit
public boolean acquirePermit()
Acquires a permit from this balancer, blocking until one is available.- Specified by:
acquirePermitin interfaceBalancer- Returns:
trueif current thread is NOT interrupted while waiting for a permit.
-
releasePermit
public void releasePermit()
Releases a permit, returning it to the balancer.- Specified by:
releasePermitin interfaceBalancer
-
releaseAllPermits
public void releaseAllPermits()
- Specified by:
releaseAllPermitsin interfaceBalancer
-
-