Ciclo de vida do thread  Cada thread em Java passa por um ciclo de vida bem definido. O ciclo de vida do thread possui as seguintes etapas: 
 1. 
Novo: Um thread é criado no novo estado. Isso acontece quando você cria um novo objeto Thread e chama seu método start() ou quando a JVM cria um thread internamente. 
 2. 
Executável: Depois que o thread é iniciado, ele entra no estado executável. É aqui que o thread pode executar seu código. 
 3. 
Aguardando: Um thread pode entrar no estado de espera ao chamar um método como wait(), sleep() ou join(). No estado de espera, o thread não está em execução, mas pode ser ativado por outro thread. 
 4. 
Espera cronometrada: Um thread também pode entrar no estado de espera cronometrada quando chama um método como wait(long), sleep(long) ou join(long). No estado de espera cronometrado, o thread não está em execução, mas será ativado automaticamente após um período de tempo especificado. 
 5. 
Encerrado: Um thread entra no estado finalizado quando completa sua execução ou quando é interrompido por outro thread. No estado finalizado, o thread não está mais em execução e não pode ser reiniciado.   
Aqui está um diagrama do ciclo de vida do thread:   [Imagem do ciclo de vida do thread](https://i.imgur.com/5HJlS.png)   
Notas:   * Um thread só pode estar em um estado por vez. 
 * Um thread pode fazer a transição de um estado para outro de diversas maneiras. Por exemplo, um thread pode fazer a transição do estado executável para o estado de espera quando chama o método wait() e pode fazer a transição do estado de espera para o estado executável quando é notificado por outro thread. 
 * Um thread só pode ser encerrado por outro thread se estiver no estado de espera ou de espera cronometrada. 
 * Um thread não pode ser reiniciado depois de encerrado.