mirror of git://gcc.gnu.org/git/gcc.git
				
				
				
			
		
			
				
	
	
		
			48 lines
		
	
	
		
			985 B
		
	
	
	
		
			Java
		
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			985 B
		
	
	
	
		
			Java
		
	
	
	
| // 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) {}
 | |
|   }
 | |
|   
 | |
| }
 |