package threadsdemo;
/** 
 * ein Teil der Museums-Simulation nach Judy Bishop: die Besuchergruppen
 *
 * @author Ralph Matthes (Original: Judy Bishop)  
 * @version $Revision: 1.2 $ from $Date: 1999/11/16 23:05:14 $ (+1 Stunde)
 */
class Visitors extends Thread {
    /** 
     * die durchschnittliche Verweildauer einer Gruppe
     */
    private static final int MEANWALKTIME=60000;
    /** 
     * eine Besuchergruppe, die eine bestimmte Zeit unterwegs ist
     *
     * @param m das Museumsobjekt
     * @param w die Gruppengröße
     */
  Visitors (Museum m, int w) {
    museum = m;
    groupSize = w;
  }
    /**
     * Die Besuchergruppe läuft durchschnittlich MEANWALKTIME Millisekunden
     * lang herum und gibt dann sofort ihre Walkmen zurück. Der Thread stirbt
     * von alleine.
     */
  public void run () {
      try {sleep((int) (Math.random()*2*MEANWALKTIME)+1);}
      catch(InterruptedException e) {}
    museum.replace(groupSize);
  }
    /**
     * das Museumsobjekt
     */
  Museum museum;
    /** 
     * die Gruppengröße
     */
  int groupSize;
}
