Get Thread Id in Java

  1. Get Thread Id met Thread.getId() in Java
  2. Get Current Thread Pool Id met Thread.currentThread().getId() in Java

in deze tutorial zullen we methoden introduceren om thread id in Java te krijgen. We zullen ook zien hoe we de id van de huidige thread kunnen krijgen van een thread pool.

Krijg Thread-Id Met Thread.getId () in Java

In dit voorbeeld hebben we een klasse Task aangemaakt die de klasse Runnable implementeert omdat we de run() methode nodig hebben om de thread uit te voeren. De klasse Task neemt een threadnaam van de constructor, en de methode run() drukt deze af op de console wanneer deze wordt uitgevoerd.

in de main() methode maken we twee Task objecten in de constructor en vervolgens twee threads objecten waarin we task1 en task2 doorgeven om de taken toe te wijzen.

we zullen de start() methode gebruiken met thread1 en thread2 om de threads uit te voeren. Eindelijk, als de threads zijn uitgevoerd, kunnen we het id van elke thread krijgen met thread.getId(), wat de id retourneert als een long.

Output:

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

Krijg De Huidige Thread Pool Id Met Behulp Van Thread.currentThread ().getId () in Java

Thread pools zijn nuttig als het gaat om de zware uitvoering van taken. In het voorbeeld hieronder maken we een thread pool met Executors.newFixedThreadPool(numberOfThreads). We kunnen het aantal threads die we in de pool willen opgeven.

de klasse Task is verantwoordelijk voor het uitvoeren van de thread in de run() methode. Het is een eenvoudige klasse die sets en krijgt de naam van de draad doorgegeven in de constructor. Om meerdere taken te maken, gebruiken we een lus for waarin vijf task objecten worden gemaakt en vijf threads worden uitgevoerd in de pool.

ons doel is om de id te krijgen van elke thread die momenteel wordt uitgevoerd. Om dat te doen, gebruiken we Thread.currentThread().getId() die het id van de huidige thread retourneert. In de uitvoer kunnen we de ID ‘ s zien van alle threads die de individuele taken uitvoeren.

zodra de taken zijn voltooid, moeten we stoppen met het uitvoeren van de thread pool met threadExecutor.shutdown(). !threadExecutor.isTerminated() wordt gebruikt om te wachten tot threadExecutor is beëindigd.

Output:

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

gerelateerd artikel-Java Thread

  • Kill Thread in Java
  • Geef een antwoord

    Het e-mailadres wordt niet gepubliceerd.