Obtener Id de Subproceso en Java

  1. Obtener Id de Subproceso Usando Thread.getId() en Java
  2. Obtener Id de grupo de subprocesos actual Usando Thread.currentThread().getId() en Java

En este tutorial, presentaremos métodos para obtener id de subproceso en Java. También veremos cómo podemos obtener el id del subproceso actual de un grupo de subprocesos.

Obtener Id De Hilo Usando Hilo.getId () en Java

En este ejemplo, hemos creado una clase Task que implementa la clase Runnable porque necesitamos su método run() para ejecutar el subproceso. La clase Task toma un nombre de hilo de su constructor, y el método run() lo imprime en la consola cuando se ejecuta.

En el método main(), creamos dos objetos Task en el constructor y luego dos objetos threads en los que pasamos task1 y task2 para asignar las tareas.

Llamaremos al método start() usando thread1 y thread2 para ejecutar los subprocesos. Por fin, una vez que se han ejecutado los subprocesos, podemos obtener el id de cada subproceso usando thread.getId(), que devuelve el id como long.

Salida:

Thread1's ID is: 13Thread2's ID is: 14Executing Task 2Executing Task 1

Obtener El Id Del Grupo De Subprocesos Actual Usando Thread.currentThread().getId () en Java

Los grupos de subprocesos son beneficiosos cuando se trata de la ejecución pesada de tareas. En el siguiente ejemplo, creamos un grupo de subprocesos usando Executors.newFixedThreadPool(numberOfThreads). Podemos especificar el número de hilos que queremos en el grupo.

La clase Task es responsable de ejecutar el hilo en el método run(). Es una clase simple que establece y obtiene el nombre del hilo pasado en el constructor. Para crear varias tareas, utilizamos un bucle for en el que se crean cinco objetos task y se ejecutan cinco subprocesos en el grupo.

Nuestro objetivo es obtener el id de cada hilo que se está ejecutando actualmente. Para hacer eso, usaremos Thread.currentThread().getId() que devuelve el id del hilo actual. En la salida, podemos ver los id de todos los subprocesos que ejecutan las tareas individuales.

Una vez completadas las tareas, deberíamos dejar de ejecutar el grupo de subprocesos usando threadExecutor.shutdown(). !threadExecutor.isTerminated() se utiliza para esperar hasta que threadExecutor haya finalizado.

Salida:

Created Task: Task 0Created Task: Task 1Created Task: Task 2Created Task: Task 3Created Task: Task 4Executing: Task 0Executing: Task 2Executing: Task 1Executing: Task 4Executing: Task 3Task 0 is on thread id #13Task 1 is on thread id #14Task 4 is on thread id #17Task 2 is on thread id #15Task 3 is on thread id #16All threads have completed their tasks

Artículo relacionado-Subproceso Java

  • Eliminar Subproceso en Java
  • Deja una respuesta

    Tu dirección de correo electrónico no será publicada.