ia Id fir în Java

  1. ia Id fir folosind Thread.getId() în Java
  2. ia Id curent piscină fir folosind Thread.currentThread().getId() în Java

în acest tutorial, vom introduce metode pentru a obține ID fir în Java. Vom vedea, de asemenea, cum putem obține ID-ul firului curent dintr-un grup de fire.

Obțineți ID-Ul Firului Folosind Firul.getId () în Java

în acest exemplu, am creat o clasă Task care implementează clasa Runnable deoarece avem nevoie de metoda run() pentru a executa firul. Clasa Task preia un nume de fir de la constructorul său, iar metoda run() îl imprimă pe consolă atunci când este executat.

în metoda main(), creăm două obiecte Task în constructor și apoi două obiecte de fire în care trecem task1 și task2 pentru a atribui sarcinile.

vom apela metoda start() folosind thread1 și thread2 pentru a executa firele. În cele din urmă, odată ce firele au fost executate, putem obține id-ul fiecărui fir folosind thread.getId(), care returnează id-ul ca long.

Ieșire:

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

Obțineți ID-Ul Curent Al Pool-Ului Folosind Thread.currentThread ().getId () în Java

piscine fir sunt benefice atunci când vine vorba de executarea grele DE SARCINI. În exemplul de mai jos, creăm o piscină de fire folosind Executors.newFixedThreadPool(numberOfThreads). Putem specifica numărul de fire pe care le dorim în piscină.

clasa Task este responsabilă pentru executarea firului în metoda run(). Este o clasă simplă care stabilește și primește numele firului trecut în constructor. Pentru a crea mai multe sarcini, folosim o buclă for în care sunt create cinci obiecte task și cinci fire sunt executate în piscină.

scopul nostru este de a obține id-ul fiecărui fir care este executat în prezent. Pentru a face acest lucru, vom folosi Thread.currentThread().getId() care returnează ID-ul firului curent. În ieșire, putem vedea ID-urile tuturor firelor care execută sarcinile individuale.

odată ce sarcinile sunt finalizate, ar trebui să oprim executarea pool-ului de fire folosind threadExecutor.shutdown(). !threadExecutor.isTerminated() este folosit pentru a aștepta până când threadExecutor a fost terminat.

ieșire:

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

articol înrudit-Java Thread

  • Kill Thread în Java
  • Lasă un răspuns

    Adresa ta de email nu va fi publicată.