Obtenir l’Id de Thread dans Java

  1. Obtenir l’Id de Thread En utilisant Thread.getId() en Java
  2. Obtenir l’Id de pool de Threads actuel En utilisant Thread.currentThread().getId() en Java

Dans ce tutoriel, nous présenterons des méthodes pour obtenir l’ID de thread en Java. Nous verrons également comment obtenir l’ID du thread actuel à partir d’un pool de threads.

Obtenez L’Id De Thread À L’Aide Du Thread.getId() en Java

Dans cet exemple, nous avons créé une classe Task qui implémente la classe Runnable car nous avons besoin de sa méthode run() pour exécuter le thread. La classe Task prend un nom de thread de son constructeur et la méthode run() l’imprime sur la console lorsqu’elle est exécutée.

Dans la méthode main(), nous créons deux objets Task dans le constructeur, puis deux objets threads dans lesquels nous passons task1 et task2 pour assigner les tâches.

Nous appellerons la méthode start() en utilisant thread1 et thread2 pour exécuter les threads. Enfin, une fois les threads exécutés, nous pouvons obtenir l’ID de chaque thread en utilisant thread.getId(), qui renvoie l’id sous la forme long.

Sortie:

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

Obtenez L’Id De Pool De Threads Actuel À L’Aide Du Thread.currentThread().getId() en Java

Les pools de threads sont bénéfiques pour l’exécution lourde des tâches. Dans l’exemple ci-dessous, nous créons un pool de threads en utilisant Executors.newFixedThreadPool(numberOfThreads). Nous pouvons spécifier le nombre de threads que nous voulons dans le pool.

La classe Task est responsable de l’exécution du thread dans la méthode run(). C’est une classe simple qui définit et obtient le nom du thread transmis dans le constructeur. Pour créer plusieurs tâches, nous utilisons une boucle for dans laquelle cinq objets task sont créés et cinq threads sont exécutés dans le pool.

Notre objectif est d’obtenir l’ID de chaque thread en cours d’exécution. Pour ce faire, nous utiliserons Thread.currentThread().getId() qui renvoie l’id du thread actuel. Dans la sortie, nous pouvons voir les ID de tous les threads qui exécutent les tâches individuelles.

Une fois les tâches terminées, nous devons arrêter d’exécuter le pool de threads en utilisant threadExecutor.shutdown(). !threadExecutor.isTerminated() est utilisé pour attendre que le threadExecutor soit terminé.

Sortie:

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

Article connexe – Thread Java

  • Tuer le thread en Java
  • Laisser un commentaire

    Votre adresse e-mail ne sera pas publiée.