Hent tråd-Id i Java

  1. Hent tråd-Id ved hjælp af Thread.getId() i Java
  2. Få nuværende Trådpulje-Id ved hjælp af Thread.currentThread().getId() i Java

i denne vejledning introducerer vi metoder til at få tråd-id i Java. Vi vil også se, hvordan vi kan få den aktuelle tråds id fra en trådpulje.

Få Tråd-Id Ved Hjælp Af Tråd.getId () i Java

i dette eksempel har vi oprettet en klasse Task, der implementerer klassen Runnable, fordi vi har brug for dens run() metode til at udføre tråden. Klassen Task tager et trådnavn fra sin konstruktør, og metoden run() udskriver den på konsollen, når den udføres.

i metoden main() opretter vi to Task objekter i konstruktøren og derefter to tråde objekter, hvor vi passerer task1 og task2 for at tildele opgaverne.

vi kalder start() metoden ved hjælp af thread1 og thread2 for at udføre trådene. Endelig, når trådene er udført, kan vi få hver tråds id ved hjælp af thread.getId(), som returnerer id ‘ et som en long.

Udgang:

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

Få Nuværende Tråd Pool Id Ved Hjælp Af Tråd.currentThread ().getId () i Java

Trådpuljer er gavnlige, når det kommer til den tunge udførelse af opgaver. I eksemplet nedenfor opretter vi en trådpulje ved hjælp af Executors.newFixedThreadPool(numberOfThreads). Vi kan angive antallet af tråde, vi ønsker i puljen.

Task – klassen er ansvarlig for at udføre tråden i run() – metoden. Det er en simpel klasse, der sætter og får trådens navn bestået i konstruktøren. For at oprette flere opgaver bruger vi en for loop, hvor fem task objekter oprettes, og fem tråde udføres i puljen.

vores mål er at få id for hver tråd, der udføres i øjeblikket. For at gøre det bruger vi Thread.currentThread().getId(), der returnerer den aktuelle tråds id. I output kan vi se ID ‘ erne for alle de tråde, der udfører de enkelte opgaver.

når opgaverne er afsluttet, skal vi stoppe med at udføre trådpuljen ved hjælp af threadExecutor.shutdown(). !threadExecutor.isTerminated() bruges til at vente, indtil threadExecutor er afsluttet.

udgang:

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

relateret artikel – Java tråd

  • Dræb tråd i Java
  • Skriv et svar

    Din e-mailadresse vil ikke blive publiceret.