Примеры Java - Проверка, жив ли поток

Java 实例Примеры Java

В следующем примере показано, как проверить, жив ли поток, путём расширения класса Thread и использования метода isAlive():

Файл TwoThreadAlive.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("перед start(), tt.isAlive()=" + tt.isAlive()); tt.start(); System.out.println("сразу после start(), tt.isAlive()=" + tt.isAlive()); for (int i = 0; i < 10; i++) { tt.printMsg(); } System.out.println("Конец main(), tt.isAlive()=" + tt.isAlive()); } }

Вывод при выполнении приведённого выше кода:

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

Java 实例Примеры Java

Другие расширения