Thread isAlive() Method in Java With Examples

09 May, 2022
Thread class in java provides numerous methods that are very essential in order to understand the working of threads as the thread stages are triggered by them. Java multi-threading provides two ways to find with the help of isAlive() and join() method.One thread gets to know when another thread has ended. Let us do depict stages of the lifecycle of the thread via the below image which helps us to connect dots to understand these methods’ workings.
Now let us do discuss isAlive() method of Thread class to a deeper depth. Basically, this method works internally very closely in parallel to the lifecycle stages of a thread. It tests if this thread is alive. A thread is alive if it has been started and has not yet died. There is a transitional period from when a thread is running to when a thread is not running. After the run() method returns, there is a short period of time before the thread stops. If we want to know if the start method of the thread class has been called or if the thread has been terminated, we must use the isAlive() method. This method is used to find out if a thread has actually been started and has yet not terminated. 
Syntax: 
final boolean isAlive()
Return Value:  Boolean value returns 
Note: While returning this function returns true if the thread upon which it is called is still running. It returns false otherwise.
Example
Java
// Java program to Illustrate isAlive() Method// of Thread class // Main class extending Thread classpublic class oneThread extends Thread {     // Method 1    // run() method for thread    public void run()    {         // Print statement        System.out.println("geeks ");         // Try block to check for exceptions        try {                       // making thread to sleep for 300 nano-seconds           // using sleep() method            Thread.sleep(300);        }         // Catch block to handle InterruptedException        catch (InterruptedException ie) {        }         // Display message when exception occurred        System.out.println("forgeeks ");    }     // Method 2    // Main driver method    public static void main(String[] args)    {        // Creating threads using above class as        // it is extending Thread class        oneThread c1 = new oneThread();        oneThread c2 = new oneThread();         // Starting threads        c1.start();        c2.start();         // Checking whether thread is alive or not        // Returning boolean true if alive else false        System.out.println(c1.isAlive());        System.out.println(c2.isAlive());    }}
Output: 
geeks 
true
true
geeks 
forgeeks 
forgeeks
This article is contributed by Shivani Ghughtyal. If you like GeeksforGeeks and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to review-team@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks. Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
solankimayank
saurabh1990aror
simmytarika5
surinderdawra388
Java-Multithreading
Java
Java
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Stream In Java
Introduction to Java
Constructors in Java
Exceptions in Java
Generics in Java
Functional Interfaces in Java
Strings in Java
Java Programming Examples
Abstraction in Java
HashSet in Java