gcc/libjava/testsuite/libjava.lang/Thread_Alive.java

48 lines
985 B
Java
Raw Normal View History

// Test the status of the isAlive() flag before, during, and after thread
// execution. Check that thread's threadgroup is null after thread exits.
// Origin: Bryce McKinlay <bryce@albatross.co.nz>
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(100);
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) {}
}
}