Obter Id de Thread em Java

  1. Obter Id de Thread Usando Thread.getId() Java
  2. Obter Atual Pool de Thread Id Usando Thread.currentThread().getId() Java

neste tutorial, vamos apresentar métodos para obter a id da thread em Java. Também veremos como podemos obter o ID do thread atual de um pool de threads.

Obter ID De Thread Usando Thread.getId () em Java

neste exemplo, criamos uma classe Task que implementa a classe Runnable porque precisamos de seu método run() para executar o thread. A classe Task pega um nome de thread de seu construtor e o método run() o imprime no console quando é executado.

no método main(), criamos dois objetos Task no construtor e, em seguida, dois objetos threads nos quais passamos task1 e task2 para atribuir as tarefas.

chamaremos o método start() usando thread1 e thread2 para executar os threads. Finalmente, uma vez que os threads foram executados, podemos obter o ID de cada thread usando thread.getId(), que retorna o id como long.

Saída:

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

Obtenha O ID Atual Do Pool De Threads Usando O Thread.currentThread ().getId () em Java

os pools de threads são benéficos quando se trata da execução pesada de Tarefas. No exemplo abaixo, criamos um pool de threads usando Executors.newFixedThreadPool(numberOfThreads). Podemos especificar o número de threads que queremos no pool.

a classe Task é responsável por executar o thread no método run(). É uma classe simples que define e obtém o nome do thread passado no construtor. Para criar várias tarefas, usamos um loop for no qual cinco objetos task são criados e cinco threads são executados no pool.

nosso objetivo é obter o id de cada thread que está sendo executado atualmente. Para fazer isso, usaremos Thread.currentThread().getId() que retorna o ID do thread atual. Na saída, podemos ver os ids de todos os threads que executam as tarefas individuais.

uma vez que as tarefas são concluídas, devemos parar de executar o pool de threads usando threadExecutor.shutdown(). !threadExecutor.isTerminated() é usado para esperar até que o threadExecutor tenha sido encerrado.

Saída:

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

Artigo Relacionado – Thread Java

  • Kill Thread em Java
  • Deixe uma resposta

    O seu endereço de email não será publicado.