

public class TimerThread extends Thread {

    private Tickable agent;
    private int interval;
    private boolean quit = false;


    public TimerThread (Tickable ag, int millisec) {
	  agent = ag;
        interval = millisec;
    }

    
    public void pleaseExit () {
        quit = true;
    }


    private void process () {

	  while (true) {
            if (quit)
                return;
	      try {
		  sleep (interval);
	      } catch (InterruptedException ie) {
	      }
	      agent.tick();
	  }

    }


    public void run () {
        this.setName ("TimerThread");
	  process ();
    }

}







