public void run()
  {
    running = true ; // Endlosschleife

    while (running)
    {
      JobContainer job = null ;

      // diesen Block komplett locken, damit zwischen get & if keine Unterbrechung
      // erfolgen kann
      synchronized (jobs)
      {
        job = jobs.getJob() ;

        // Kein Job vorhanden => schlafen legen
        if (job == null)
        {
          manager.sleep();
          try
          {
            jobs.wait() ;
          }
          catch (InterruptedException ie)
          {
            running = false ;
          }
        }
      }

      // diese Abfrage ausserhalb von synchronized
      if ((job != null) && (running))
      {
        manager.busy();
        job.runJob();
      }
    }
  }