MoreThreads2.java

See MyThread.java


// Use isAlive().
class MoreThreads2 {
  public static void main(String[] args) {
    System.out.println("Main thread starting.");

    MyThread mt1 = new MyThread("Child #1");
    MyThread mt2 = new MyThread("Child #2");
    MyThread mt3 = new MyThread("Child #3");

    do {
      System.out.print(".");
      try {
        Thread.sleep(100);
      }
      catch(InterruptedException exc) {
        System.out.println("Main thread interrupted.");
      }
    } while (mt1.thrd.isAlive() ||
             mt2.thrd.isAlive() ||
             mt3.thrd.isAlive());

    System.out.println("Main thread ending.");
  }
}


Results

C:\ece538\java_thread>java MoreThreads2
Main thread starting.
Child #1 starting.
.Child #3 starting.
Child #2 starting.
...In Child #1, count is 0
In Child #3, count is 0
In Child #2, count is 0
....In Child #1, count is 1
In Child #3, count is 1
In Child #2, count is 1
....In Child #1, count is 2
In Child #3, count is 2
In Child #2, count is 2
....In Child #1, count is 3
In Child #3, count is 3
In Child #2, count is 3
....In Child #1, count is 4
In Child #3, count is 4
In Child #2, count is 4
....In Child #1, count is 5
In Child #3, count is 5
In Child #2, count is 5
....In Child #1, count is 6
In Child #3, count is 6
In Child #2, count is 6
....In Child #1, count is 7
In Child #3, count is 7
In Child #2, count is 7
....In Child #1, count is 8
In Child #3, count is 8
In Child #2, count is 8
....In Child #1, count is 9
Child #1 terminating.
In Child #3, count is 9
Child #3 terminating.
In Child #2, count is 9
Child #2 terminating.
Main thread ending.


Maintained by John Loomis, updated Sun Nov 18 22:34:43 2012