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


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

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

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

  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