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 TypeMethodDescriptionboolean
Acquires a permit from this balancer, blocking until one is available.void
void
Releases 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
-true
guarantees the waiting schedulers to wake up in order they acquired a permit- Throws:
IllegalArgumentException
- ifnumPermits
is not positive number
-
-
Method Details
-
acquirePermit
public boolean acquirePermit()Acquires a permit from this balancer, blocking until one is available.- Specified by:
acquirePermit
in interfaceBalancer
- Returns:
true
if current thread is NOT interrupted while waiting for a permit.
-
releasePermit
public void releasePermit()Releases a permit, returning it to the balancer.- Specified by:
releasePermit
in interfaceBalancer
-
releaseAllPermits
public void releaseAllPermits()- Specified by:
releaseAllPermits
in interfaceBalancer
-