OSDN Git Service

2006-06-12 Andrew Haley <aph@redhat.com>
[pf3gnuchains/gcc-fork.git] / libjava / testsuite / libjava.lang / PR27908.java
1 class PR27908
2 {
3   public static void main (String[] argv)
4   {
5     run1 r1 = new run1();
6     run2 r2 = new run2();
7     run3 r3 = new run3();
8
9     new Thread (r1).start();
10     new Thread (r2).start();
11     new Thread (r3).start();
12
13     Thread.yield();
14
15     r1.stop();
16     r2.stop();
17     r3.stop();
18   }
19
20   private static class run1 implements Runnable
21   {
22     volatile int counter;
23     volatile boolean running;
24
25     public void run ()
26     {
27       counter = 0;
28       running = true;
29       while (running)
30         counter++;
31       System.out.println ("run1 exits!");
32     }
33
34     private void stop ()
35     {
36       running = false;
37     }
38   }
39
40   private static class run2 implements Runnable
41   {
42     volatile int counter;
43     boolean running;
44
45     public void run ()
46     {
47       counter = 0;
48       running = true;
49       while (running)
50         counter++;
51       System.out.println ("run2 exits!");
52     }
53
54     private void stop ()
55     {
56       running = false;
57     }
58   }
59
60   static class run3 implements Runnable
61   {
62     volatile int counter;
63     private volatile boolean running;
64
65     public void run ()
66     {
67       counter = 0;
68       running = true;
69       while (running)
70         counter++;
71       System.out.println ("run3 exits!");
72     }
73
74     void stop ()
75     {
76       running = false;
77     }
78   }
79
80 }