Get Thread Id v Javě

  1. Get Thread Id pomocí Thread.getId() v Javě
  2. Get Current Thread Pool Id pomocí Thread.currentThread().getId() v Javě

v tomto tutoriálu představíme metody, jak získat thread id v Javě. Uvidíme také, jak můžeme získat id aktuálního vlákna z fondu vláken.

Získejte ID Vlákna Pomocí Vlákna.getId () v Javě

v tomto příkladu jsme vytvořili třídu Task, která implementuje třídu Runnable, protože k provedení podprocesu potřebujeme její metodu run(). Třída Task vezme název vlákna ze svého konstruktoru a metoda run() jej při spuštění vytiskne na konzoli.

v metodě main() vytvoříme dva objekty Task v konstruktoru a pak dva objekty podprocesů, ve kterých předáme task1 a task2 k přiřazení úkolů.

zavoláme metodu start() pomocí thread1 a thread2 pro spuštění podprocesů. Konečně, jakmile jsou vlákna spuštěna, můžeme získat id každého vlákna pomocí thread.getId(), které vrací id jako long.

Výstup:

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

Získejte Aktuální ID Fondu Vláken Pomocí Vlákna.currenthread ().getId () v Javě

vláknové bazény jsou prospěšné, pokud jde o těžké provádění úkolů. V níže uvedeném příkladu vytvoříme fond podprocesů pomocí Executors.newFixedThreadPool(numberOfThreads). Můžeme určit počet vláken, které chceme v bazénu.

třída Task je zodpovědná za provedení podprocesu metodou run(). Jedná se o jednoduchou třídu, která nastaví a dostane jméno vlákna předané v konstruktoru. Pro vytvoření více úloh používáme smyčku for, ve které je vytvořeno pět objektů task a ve fondu je provedeno pět podprocesů.

Naším cílem je získat id každého vlákna, které je aktuálně spuštěno. K tomu použijeme Thread.currentThread().getId(), který vrací id aktuálního vlákna. Ve výstupu vidíme ID všech podprocesů, které provádějí jednotlivé úkoly.

po dokončení úkolů bychom měli přestat provádět fond podprocesů pomocí threadExecutor.shutdown(). !threadExecutor.isTerminated() se používá k čekání na ukončení threadExecutor.

výstup:

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

související článek-Java vlákno

  • zabít vlákno v Javě
  • Napsat komentář

    Vaše e-mailová adresa nebude zveřejněna.