Attention, karim, ne confonds pas le thread proprement dit, à l'exécution, et la localisation du code à exécuter dans ton programme.
Tant qu'un thread est endormi, il n'exécutera aucun code. C'est clair.
Maintenant, le fait qu'une méthode soit dans une sous-classe de Thread n'empêche en rien qu'un autre thread (qui n'est pas une instance de cette classe) ne puisse pas l'appeler.. Donc, un autre thread -- voire le thread du main -- peut tout à fait appeler une méthode de la sous-classe de Thread, même si toutes les instances de cette sous-classes sont des threads endormis.
Et c'est ce thread-là, celui qui appelle la méthode, qui va exécuter la méthode, évidemment.
Autrement dit, le thread qui appelle la méthode ne "demande" pas au thread endormi d'exécuter cette méthode, il l'exécute lui-même. Bref, c'est un simple appel de fonction. Plus simple et plus logique, non ?