En Java, les threads ont 5 états différents : Nouveau, Exécutable, En cours d'exécution, Bloqué et Mort. Le diagramme de conversion entre eux est le suivant :
Il existe une exception dans la figure ci-dessus. L'appel de la méthode rendement() peut transférer le thread en cours d'exécution à l'état prêt. Si vous souhaitez tester si un thread est mort, vous pouvez utiliser la méthode isAlive(), qui renvoie true lorsque le thread est prêt, en cours d'exécution ou bloqué, et renvoie false lorsqu'il est créé ou meurt. N'essayez pas de redémarrer un thread mort en appelant la méthode start(). La mort signifie la mort, tout comme les êtres humains, il est impossible de se régénérer. N’appelez pas non plus la méthode start() deux fois sur un thread, car cela provoquerait également une exception.