Class ThreadResourcesBalancer

java.lang.Object
org.apache.maven.surefire.junitcore.pc.ThreadResourcesBalancer
All Implemented Interfaces:
Balancer

final class ThreadResourcesBalancer extends Object implements Balancer
Since:
2.16
See Also:
  • Field Details

    • balancer

      private final Semaphore 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 - 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:
      acquirePermit in interface Balancer
      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 interface Balancer
    • releaseAllPermits

      public void releaseAllPermits()
      Specified by:
      releaseAllPermits in interface Balancer