Package edu.jas.util

Class Terminator

java.lang.Object
edu.jas.util.Terminator

public class Terminator extends Object
Terminating helper class. Like a barrier, but with coming and going.
  • Field Details

    • logger

      private static final org.apache.logging.log4j.Logger logger
    • workers

      private final int workers
    • idler

      private int idler
    • fin

      private final Semaphore fin
    • done

      private boolean done
  • Constructor Details

    • Terminator

      public Terminator(int workers)
      Terminator.
      Parameters:
      workers - number of expected threads.
  • Method Details

    • toString

      public String toString()
      to string
      Overrides:
      toString in class Object
    • beIdle

      public void beIdle()
      beIdle. Checks for release().
    • initIdle

      public void initIdle(int i)
      initIdle. No check for release().
      Parameters:
      i - number of idle threads.
    • beIdle

      public void beIdle(int i)
      beIdle. Checks for release().
      Parameters:
      i - number of idle threads.
    • allIdle

      public void allIdle()
      allIdle. Checks for release().
    • notIdle

      public void notIdle()
      notIdle.
    • getJobs

      public int getJobs()
      getJobs.
      Returns:
      number of possible jobs.
    • hasJobs

      public boolean hasJobs()
      hasJobs.
      Returns:
      true, if there are possibly jobs, else false.
    • release

      public void release()
      Release if possible.
    • waitDone

      public void waitDone()
      Wait until released.