Los subprocesos en Java son los subprocesos ligeros que puede crear el usuario. Se utiliza para realizar tareas complicadas en segundo plano sin perturbar el programa principal. Para suspender el subproceso temporalmente haciéndolo pasar del estado de ejecución al estado de espera. El concepto utilizado para lograr el objetivo es la función suspender() .
Método: Cómo se pueden suspender los hilos temporalmente
- Creando ‘ MyThread Class ‘ que está extendiendo la ‘ java.lang.Thread class ‘ . Tiene una función run() que contiene código para realizar.
- En la función principal, se crea un objeto ‘ MyThread Class ‘ ‘thread’ que se nombra como ‘GFG’ usando la función setName() .
- Inicie el subproceso para realizar sus tareas llamando a la función start() y comienza a ejecutar el código escrito en la función run().
A veces hay una urgencia de suspender estos hilos por alguna razón. Así que aquí el programa muestra cómo el hilo se suspende temporalmente usando la función suspender() . El subproceso pasará del estado de ejecución al estado de espera . Esta función hace que un hilo deje de ejecutarse temporalmente. El hilo quedará en espera del estado hasta que lo reanudemos. Entonces, en este programa, el hilo se mantiene suspendido hasta que finaliza el tiempo de suspensión, es decir, 5 segundos (tomados en este programa), y luego lo reanudamos usando la función resume().
Sintaxis: para obtener el número de identificación del hilo actual ya está creado
Thread.currentThread( ).getId( ) ;
Métodos utilizados:
- start() : Este es un método para iniciar el funcionamiento de un hilo.
- setName() : Este es un método utilizado para establecer el nombre de un hilo que se crea.
- dormir (tiempo) : este es un método utilizado para dormir el hilo durante algunos milisegundos.
- suspender() : Este es un método utilizado para suspender el hilo. El subproceso permanecerá suspendido y no realizará sus tareas hasta que se reanude.
- resume() : este es un método utilizado para reanudar el hilo suspendido.
Ejemplo:
Java
// Java program to suspend a thread temporarily // Importing all classes from // java.util package import java.util.*; // Class- MyThread class MyThread extends Thread { // Remember : Method can be executed multiple times public void run() { // Try block to check if any exception occurs try { // Print and display the running thread // using currentThread() method System.out.println( "Thread " + Thread.currentThread().getId() + " is running"); } // Catch block to handle the exceptions catch (Exception e) { // Message to be printed if // the exception is encountered System.out.println("Exception is caught"); } } } // Class-Main public class GFG { // Main Driver Method public static void main(String[] args) throws Exception { // Creating a thread MyThread thread = new MyThread(); // Naming thread as "GFG" thread.setName("GFG"); // Start the functioning of a thread thread.start(); // Sleeping thread for specific amount of time Thread.sleep(500); // Thread GFG suspended temporarily thread.suspend(); // Display message System.out.println( "Thread going to sleep for 5 seconds"); // Sleeping thread for specific amount of time Thread.sleep(5000); // Display message System.out.println("Thread Resumed"); // Thread GFG resumed thread.resume(); } }
Producción :
Thread 13 is running Thread Suspended Thread going to sleep for 5 seconds Thread Resumed
Publicación traducida automáticamente
Artículo escrito por yashgupta2808 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA