Class ThreadResourcesBalancer
java.lang.Object
org.apache.maven.surefire.junitcore.pc.ThreadResourcesBalancer
- All Implemented Interfaces:
Balancer
- Since:
- 2.16
- See Also:
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionThreadResourcesBalancer(int numPermits) fair set to false.ThreadResourcesBalancer(int numPermits, boolean fair) -
Method Summary
Modifier and TypeMethodDescriptionbooleanAcquires a permit from this balancer, blocking until one is available.voidvoidReleases a permit, returning it to the balancer.
-
Field Details
-
balancer
-
numPermits
private final int numPermits
-
-
Constructor Details
-
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
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:
IllegalArgumentException- if numPermits is not positive number
-
-
Method Details
-
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
-