6
votes

Constructeur vide de classe de fil

Je me demandais quel est le raisonnement de l'existence d'un constructeur vide sur la classe de thread.

Puisque vous ne pouvez pas lui donner un runnable lors de sa création, créez un fil comme celui-ci: P>

Thread t=new Thread();


0 commentaires

3 Réponses :


7
votes

Vous pouvez remplacer la classe thread . Votre propre implémentation pourrait alors faire quelque chose de sensible dans la méthode sans avoir besoin d'un exécutable .


1 commentaires

Pourquoi alors ce n'est pas protégé ? Mais je suis d'accord, cela ne semble que des fins primordiales.



4
votes

Les travaux suivants: xxx

mais oui ce n'est pas ce que je considérerais une bonne pratique.


1 commentaires

@Ofek parce que cela n'ajoute rien d'utile, tout en faisant l'API plus complexe - c'est quelque chose que les concepteurs de l'API tentent généralement d'éviter dans la mesure du possible. En général, vous ne devriez pas demander "pourquoi est quelque chose pas dans l'API" mais "mais" pourquoi quelque chose devrait être dans l'API? ". Légèrement Offtopic: Les concepteurs d'origine IMHO ont commis une erreur avec l'API de thread: faire Exécuter protégé aurait évité de problèmes sans perte réelle. Supprimer le constructeur Ags SIGS IMHO SOIT également avantageux.



1
votes

thread classe peut être sous-classée, et c'est exécuter () remplacement. Voir le Javadoc .


0 commentaires