- Get Thread Id Using
Thread.getId()
In Java - Get Current Thread Pool Id Using
Thread.currentThread().getId()
In Java
I denne opplæringen vil vi introdusere metoder for å få thread id I Java. Vi vil også se hvordan vi kan få den nåværende trådens id fra et trådbasseng.
Få Tråd-Id Ved Hjelp Av Tråd.getId () I Java
i dette eksemplet har vi opprettet en klasse Task
som implementerer klassen Runnable
fordi vi trenger run()
– metoden for å utføre tråden. Klassen Task
tar et trådnavn fra konstruktøren, og metoden run()
skriver den ut på konsollen når den utføres.
i metoden main()
oppretter vi to Task
objekter i konstruktøren og deretter to tråder objekter der vi passerer task1
og task2
for å tildele oppgavene.
vi vil ringe start()
– metoden ved hjelp av thread1
og thread2
for å utføre trådene. Endelig, når trådene er utført, kan vi få hver tråds id ved hjelp av thread.getId()
, som returnerer id som en long
.
Utgang:
Thread1's ID is: 13Thread2's ID is: 14Executing Task 2Executing Task 1
Få Nåværende Trådbasseng Id Ved Hjelp Av Tråd.currentThread().getId () I Java
Trådbassenger er gunstige når det gjelder tung utførelse av oppgaver. I eksemplet nedenfor lager vi et trådbasseng med Executors.newFixedThreadPool(numberOfThreads)
. Vi kan spesifisere antall tråder vi vil ha i bassenget.
klassen Task
er ansvarlig for å utføre tråden i run()
– metoden. Det er en enkel klasse som setter og får trådens navn passert i konstruktøren. For å opprette flere oppgaver bruker vi en for
sløyfe der fem task
objekter opprettes ,og fem tråder utføres i bassenget.
vårt mål Er å få id for hver tråd som blir utført for øyeblikket. For å gjøre det, vil vi bruke Thread.currentThread().getId()
som returnerer den nåværende trådens id. I utgangen kan vi se idene til alle trådene som utfører de enkelte oppgavene.
når oppgavene er fullført, bør vi slutte å utføre trådbassenget ved hjelp av threadExecutor.shutdown()
. !threadExecutor.isTerminated()
brukes til å vente til threadExecutor
er avsluttet.
Utgang:
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