Java 实例 - 查看线程是否存活

以下实例演示了如何通过继承 Thread 类并使用 isAlive() 方法来检测一个线程是否存活:

TwoThreadAlive.java 文件

  1. public class TwoThreadAlive extends Thread {
  2. public void run() {
  3. for (int i = 0; i < 10; i++) {
  4. printMsg();
  5. }
  6. }
  7. public void printMsg() {
  8. Thread t = Thread.currentThread();
  9. String name = t.getName();
  10. System.out.println("name=" + name);
  11. }
  12. public static void main(String[] args) {
  13. TwoThreadAlive tt = new TwoThreadAlive();
  14. tt.setName("Thread");
  15. System.out.println("before start(), tt.isAlive()=" + tt.isAlive());
  16. tt.start();
  17. System.out.println("just after start(), tt.isAlive()=" + tt.isAlive());
  18. for (int i = 0; i < 10; i++) {
  19. tt.printMsg();
  20. }
  21. System.out.println("The end of main(), tt.isAlive()=" + tt.isAlive());
  22. }
  23. }

以上代码运行输出结果为:

  1. before start(), tt.isAlive()=false
  2. just after start(), tt.isAlive()=true
  3. name=main
  4. name=Thread
  5. name=main
  6. name=main
  7. name=main
  8. name=main
  9. name=main
  10. name=main
  11. name=main
  12. name=main
  13. name=main
  14. name=Thread
  15. name=Thread
  16. name=Thread
  17. name=Thread
  18. name=Thread
  19. The end of main(), tt.isAlive()=true
  20. name=Thread
  21. name=Thread
  22. name=Thread
  23. name=Thread