class RunUpInt implements Runnable  {

int delay;
String lbl;

RunUpInt( String id, int d ) {
  lbl = id;
  delay = d; ;
}  // end constructor

public void run ()  {

  try  {
    for ( int i = 0; i < 20; i++)  {
      System.out.println ( lbl + ": " + i );
      Thread.sleep ( delay );
    }  // end for
  }  // end try
  catch ( InterruptedException except)  {
    return;
  }  // end catch

}  // end run

public static void main ( String [ ] args )  {

int delay1, delay2;
  if ( args.length == 2 )  {
  delay1 = Integer.parseInt ( args[0] );
  delay2 = Integer.parseInt ( args[1] );
  }  else  {
  delay1 = 10;  // default value
  delay2 = 55;  // default value
  }  // end else

  Runnable run1 = new RunUpInt ( "Thread 1", delay1 );
  Runnable run2 = new RunUpInt ( "            Thread 2", delay2 );

  Thread thread1 = new Thread ( run1 );
  Thread thread2 = new Thread ( run2 );

  thread1.start ();
  thread2.start ();

}  // end main

}  // end RunUpInt
