start() inicia o método thread
Quando run() chama o método start(), o que realmente é executado é o corpo do método.
sleep() coloca o thread atual em suspensão, acorda automaticamente quando a suspensão expira e entra no estado executável em vez do estado de execução.
yield() pausa o objeto de thread atualmente em execução. O agendador de thread JVM chama outros threads de alta prioridade com base no mecanismo de preempção de prioridade. O número padrão é 1 (Thread.MIN_PRIORITY) - 10 (Thread.MAX_PRIORITY). de threads criados é 5 (NORM_PRIORITY)
setPriority(int newPriority) define a nova prioridade do thread
join() espera que o thread termine antes de iniciar a execução do thread atual, por exemplo, o thread A chama o método join() do thread B e espera que o thread B termine antes de continuar a executar o thread A. O thread B termina e o thread termina. A entra em um estado executável.