Get Thread Id in Java

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

w tym samouczku przedstawimy metody pobierania thread id in Java. Zobaczymy również, jak możemy uzyskać identyfikator bieżącego wątku z puli wątków.

Uzyskaj Identyfikator Wątku Za Pomocą Wątku.getId () w Javie

w tym przykładzie stworzyliśmy klasę Task, która implementuje klasę Runnable, ponieważ potrzebujemy jej metody run() do wykonania wątku. Klasa Task pobiera nazwę wątku od swojego konstruktora, a metoda run() wypisuje go na konsoli, gdy jest wykonywana.

w metodzie main() tworzymy dwa obiekty Task w konstruktorze, a następnie dwa obiekty threads, w których przekazujemy task1 i task2, aby przypisać zadania.

wywołamy metodę start() używając thread1 i thread2 do wykonania wątków. W końcu, po wykonaniu wątków, możemy uzyskać identyfikator każdego wątku za pomocą thread.getId(), co zwraca id jako long.

:

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

Uzyskaj Bieżący Identyfikator Puli Wątków Za Pomocą Wątku.currentThread ().getId () w Javie

pule wątków są korzystne, jeśli chodzi o ciężkie wykonywanie zadań. W poniższym przykładzie tworzymy pulę wątków używając Executors.newFixedThreadPool(numberOfThreads). Możemy określić liczbę wątków, które chcemy mieć w Puli.

Klasa Task jest odpowiedzialna za wykonanie wątku w metodzie run(). Jest to prosta klasa, która ustawia i pobiera nazwę wątku przekazaną w konstruktorze. Aby utworzyć wiele zadań, używamy pętli for, w której tworzy się pięć obiektów task i wykonuje się pięć wątków w Puli.

naszym celem jest uzyskanie identyfikatora każdego wątku, który jest obecnie wykonywany. Aby to zrobić, użyjemy Thread.currentThread().getId(), która zwraca identyfikator bieżącego wątku. Na wyjściu możemy zobaczyć identyfikatory wszystkich wątków, które wykonują poszczególne zadania.

po zakończeniu zadań powinniśmy przestać wykonywać pulę wątków używając threadExecutor.shutdown(). !threadExecutor.isTerminated() służy do oczekiwania na zakończenie threadExecutor.

:

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

powiązane artykuły-wątek Java

  • Zabij wątek w Javie
  • Dodaj komentarz

    Twój adres e-mail nie zostanie opublikowany.