diff options
Diffstat (limited to 'libjava/testsuite/libjava.lang/Thread_Alive.java')
-rw-r--r-- | libjava/testsuite/libjava.lang/Thread_Alive.java | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/libjava/testsuite/libjava.lang/Thread_Alive.java b/libjava/testsuite/libjava.lang/Thread_Alive.java new file mode 100644 index 000000000..e885e1624 --- /dev/null +++ b/libjava/testsuite/libjava.lang/Thread_Alive.java @@ -0,0 +1,46 @@ +// Test the status of the isAlive() flag before, during, and after thread +// execution. Check that thread's threadgroup is null after thread exits. + +public class Thread_Alive implements Runnable +{ + public static void main(String args[]) throws InterruptedException + { + Thread_Alive ta = new Thread_Alive(); + Thread t = new Thread(ta); + System.out.println(t.isAlive()); + t.start(); + System.out.println(t.isAlive()); + + Thread.sleep(50); + + synchronized (ta) + { + ta.notifyAll(); + } + + t.join(); + System.out.println(t.isAlive()); + + try + { + t.start(); + System.out.println("Error: dead thread can be restarted."); + } + catch (IllegalThreadStateException x) + { + System.out.println ("ok"); + } + + System.out.println(t.getThreadGroup()); + } + + public synchronized void run() + { + try + { + wait(); + } + catch (InterruptedException x) {} + } + +} |