Certo a resposta na teoria seria essa !!! E serve pra quem ta estudando pra SCJP , pois se cair uma parecida a resposta eh essa que thadeurc
falou…
Mas na pratica, raciocine comigo … se a thread ja estiver terminado de ser executada e passar do estado RUNNING para DEAD, entao se voce chamar o start novamente desta thread, vc naum sera capaz de recussita-la rsrs…
mas naum lancara nenhum runtime exception.
Logo, eu diria que isso eh imprivesivel, pois vc naum sabe qto tempo sua thread irá levar para chegar ao estado de DEAD, pode ser q chegue antes
de vc tentar chamar novamente o start(), vai depender do processador da sua maquina!
por exemplo se eu adicionasse um Thread.sleep() entre as chamadas de start():
class A extends Thread {
public void run() {System.out.print("A");}
}
class B {
public static void main (String[] args) {
A a = new A();
a.start();
try{
Thread.sleep(2000);
}catch(InterruptedException e){
e.printStackTrace();
}
a.start(); // 1
}
}
nao sera lancado nada !
entenderam :roll: