Considérez cette question.
Il existe diverses raisons pour lesquelles la création d'un thread est coûteuse, notamment le fait qu'une grande quantité de mémoire doit être allouée et que le thread doit être enregistré.
Maintenant, considérez ce code :
Thread thread = new Thread(new SomeRunnable());
thread.start();
Quelle partie de cela est considérée comme "coûteuse"? La ligne qui crée effectivement l'objet Thread ou la ligne qui démarre le thread? Ou les deux? La raison pour laquelle je pose la question est que j'écris le composant serveur d'un jeu et je me demande si je dois créer l'objet Thread dès la connexion du joueur et démarrer le thread une fois que le joueur a terminé sa connexion, ou si je dois à la fois créer et démarrer le thread après que le joueur ait terminé sa connexion.