Método Thread isAlive() en Java con ejemplos

La clase de subprocesos en Java proporciona numerosos métodos que son muy esenciales para comprender el funcionamiento de los subprocesos a medida que se activan las etapas del subproceso. Los subprocesos múltiples de Java proporcionan dos formas de encontrar con la ayuda del método isAlive() y join().
Un hilo llega a saber cuando otro hilo ha terminado. Describamos las etapas del ciclo de vida del hilo a través de la imagen a continuación que nos ayuda a conectar puntos para comprender el funcionamiento de estos métodos.

Ahora analicemos el método isAlive() de la clase Thread con mayor profundidad. Básicamente, este método funciona internamente muy de cerca en paralelo con las etapas del ciclo de vida de un subproceso. Comprueba si este hilo está vivo. Un subproceso está vivo si se ha iniciado y aún no ha muerto. Hay un período de transición desde que se ejecuta un subproceso hasta que no se ejecuta. 
Después de que el método run() regresa, hay un breve período de tiempo antes de que se detenga el subproceso. Si queremos saber si se ha llamado al método de inicio de la clase de hilo o si se ha terminado el hilo, debemos usar el método isAlive(). Este método se utiliza para averiguar si un subproceso realmente se ha iniciado y aún no ha terminado. 

Sintaxis: 

final boolean isAlive()

Valor devuelto:  el valor booleano devuelve 

Nota: Al devolver esta función, devuelve verdadero si el subproceso al que se llama todavía se está ejecutando. Devuelve false en caso contrario.

Ejemplo

Java

// Java program to Illustrate isAlive() Method
// of Thread class
 
// Main class extending Thread class
public 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());
    }
}

Producción: 

geeks 
true
true
geeks 
forgeeks 
forgeeks

Este artículo es una contribución de Shivani Ghughtyal . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks. Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *