Blog

Classe Thread em Java

Nesta publicação aprende-se a trabalhar com a classe Thread para que se possa usar esses mesmos conhecimentos e assim evoluir.

  • esta classe possibilita a criação/controlo de um determinado processo e é possível definir a sua prioridade e obter o seu estado;
  • o thread é basicamente uma tarefa.
Thread (objeto).start() Inicia o determinado thread que fora instanciado
Thread (objeto).join() Bloqueia o thread inicial (o de chamada) até que o thread atual termine
Thread.sleep() Suspende o thread atual durante o tempo especificado (tempo esse em milissegundos)
package com.caffeinealgorithm.programaremjava;

public class ClasseThread {
  private Thread tarefa;

  public void Run() {
    tarefa = new Thread(this::executarTarefa);
    tarefa.start();

    for (int indice = 1; indice <= 5; indice++) {
      System.out.printf("Run(): #%d\n", indice);

      try {
        Thread.sleep(1000);
      }
      catch (InterruptedException excecao) {
        System.out.println(excecao);
      }
    }

    System.out.println("A tarefa Run() finalizou.");

    try {
      tarefa.join();
    }
    catch (InterruptedException excecao) {
      System.out.println(excecao);
    }

    System.out.println("A tarefa executarTarefa() finalizou.");
  }

  private void executarTarefa() {
    for (int indice = 1; indice <= 10; indice++) {
      System.out.printf("executarTarefa(): #%d\n", indice);

      try {
        Thread.sleep(1000);
      }
      catch (InterruptedException excecao) {
        System.out.println(excecao);
      }
    }
  }
}

/*
  Run(): #1
  executarTarefa(): #1
  Run(): #2
  executarTarefa(): #2
  Run(): #3
  executarTarefa(): #3
  Run(): #4
  executarTarefa(): #4
  Run(): #5
  executarTarefa(): #5
  A tarefa Run() finalizou.
  executarTarefa(): #6
  executarTarefa(): #7
  executarTarefa(): #8
  executarTarefa(): #9
  executarTarefa(): #10
  A tarefa executarTarefa() finalizou.
*/

Não te esqueças de assistir ao vídeo e podes sempre ler esta publicação em inglês.

Happy coding!

Anterior Seguinte