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)