How to check a thread is alive or not in Java
Problem Description
How to check a thread is alive or not?
Solution
Following example demonstrates how to check a thread is alive or not by extending Threda class and using currentThread() method.
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());
}
}
Result
The above code sample will produce the following result.
before start(), tt.isAlive() = false just after start(), tt.isAlive() = true name = main name = main name = main name = main name = main name = main name = main name = main name = main name = Thread name = main name = Thread The end of main(), tt.isAlive() = true name = Thread name = Thread name = Thread name = Thread name = Thread name = Thread name = Thread name = Thread
java_threading.htm