logo

Método Java Thread start()

O começar() O método da classe thread é usado para iniciar a execução do thread. O resultado deste método são dois threads que estão sendo executados simultaneamente: o thread atual (que retorna da chamada ao método start) e o outro thread (que executa seu método run).

O método start() chama internamente o método run() da interface Runnable para executar o código especificado no método run() em um thread separado.

O thread inicial executa as seguintes tarefas:

  • Ele cria um novo tópico
  • O thread passa do estado Novo para o estado Executável.
  • Quando o thread tiver a chance de ser executado, seu método run() de destino será executado.

Sintaxe

 public void start() 

Valor de retorno

 It does not return any value. 

Exceção

IllegalThreadStateException - Esta exceção é lançada se o método start() for chamado mais de uma vez.

Exemplo 1: Estendendo a classe de thread

 public class StartExp1 extends Thread { public void run() { System.out.println('Thread is running...'); } public static void main(String args[]) { StartExp1 t1=new StartExp1(); // this will call run() method t1.start(); } } 
Teste agora

Saída:

 Thread is running... 

Exemplo 2: Implementando Interface Executável

 public class StartExp2 implements Runnable { public void run() { System.out.println('Thread is running...'); } public static void main(String args[]) { StartExp2 m1=new StartExp2 (); Thread t1 =new Thread(m1); // this will call run() method t1.start(); } } 
Teste agora

Saída:

 Thread is running... 

Exemplo 3: Quando você chama o método start() mais de uma vez

 public class StartExp3 extends Thread { public void run() { System.out.println('First thread running...'); } public static void main(String args[]) { StartExp3 t1=new StartExp3(); t1.start(); // It will through an exception because you are calling start() method more than one time t1.start(); } } 
Teste agora

Saída:

 First thread running... Exception in thread 'main' java.lang.IllegalThreadStateException at java.lang.Thread.start(Thread.java:708) at StartExp3.main(StartExp3.java:12)