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.