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