1 // Test basic thread creation and wait/notify functionality.
2 // Origin: Bryce McKinlay <bryce@albatross.co.nz>
3 
4 public class Thread_Wait implements Runnable
5 {
main(String args[])6   public static void main(String args[])
7   {
8     new Thread_Wait();
9   }
10 
Thread_Wait()11   public Thread_Wait()
12   {
13     System.out.println("creating thread");
14     Thread t = new Thread(this);
15     t.start();
16 
17     try
18     {
19       Thread.sleep(100);
20     }
21     catch (Exception x)
22     {
23       System.out.println("exception occurred: " + x);
24     }
25 
26     synchronized (this)
27     {
28       System.out.println("notifying other thread");
29       notify();
30     }
31   }
32 
run()33   public void run()
34   {
35     System.out.println ("new thread running");
36     synchronized (this)
37     {
38       try
39       {
40 	wait();
41       }
42       catch (Exception x)
43       {
44         System.out.println("exception occurred: " + x);
45       }
46     }
47     System.out.println ("thread notified okay");
48   }
49 }
50