Kiểm tra Thread trong Java



Miêu tả vấn đề

Cách kiểm tra một thread còn sống hay không trong Java?

Giải pháp

Ví dụ sau minh họa cách kiểm tra một thread còn sống hay không bởi kế thừa lớp Thread và sử dụng phương thức currentThread() trong Java.

public class TwoThreadAlive extends Thread {
   public void run() {
      for (int i = 0; i < 10; i++) {
      printMsg();
   }
}public void printMsg() {
   Thread t = Thread.currentThread();
   String name = t.getName();
   System.out.println("name=" + name);
}public static void main(String[] args) {
   TwoThreadAlive tt = new TwoThreadAlive();
   tt.setName("Thread");
   System.out.println("before start(), 
   tt.isAlive()=" + tt.isAlive());
   tt.start();
   System.out.println("just after start(), 
   tt.isAlive()=" + tt.isAlive());
   for (int i = 0; i < 10; i++) {
      tt.printMsg();
   }
   System.out.println("The end of main(),
      tt.isAlive()=" + tt.isAlive());
   }
}

Kết quả

Code trên sẽ cho kết quả sau:

before start(),tt.isAlive()=false
just after start(), tt.isAlive()=true
name=main 
name=main 
name=main 
name=main 
name=main 
name=Thread
name=Thread 
name=Thread 
name=Thread
name=Thread 
name=Thread 
name=Thread 
name=main 
name=main 
The end of main().tt.isAlive()=false

thread_trong_java.jsp