Maison > Questions et réponses > le corps du texte
PHPz2017-04-18 10:03:15
Thread.currentThread() ne renvoie pas le thread dans lequel le programme en cours s'exécute, mais renvoie le thread dans lequel le code Thread.currentThread() est exécuté.
Vous pouvez donc voir que lorsque le nouveau thread est construit, le code est exécuté dans le thread principal, tandis que le code de la méthode run est exécuté dans le thread.
C'est facile à comprendre en regardant le résultat
PHP中文网2017-04-18 10:03:15
1. Lorsque new
est un objet Thread
, le nom par défaut est au format Thread-n
Vous pouvez consulter le code source de Thread
.
2. Ceci est un objet fil this
Lorsque vous l'utilisez comme ça, c'est le fil actuel.
3. Thread.currentThread()
renvoie toujours le fil de discussion en cours d'exécution.
巴扎黑2017-04-18 10:03:15
Le résultat d'exécution de la méthode constructeur est compréhensible, mais pourquoi le résultat d'exécution de la méthode run n'est-il pas testThread dans setName mais thread ?
PHP中文网2017-04-18 10:03:15
1. La méthode getName() est héritée de la classe Thread. Il suffit de regarder la méthode getName() de la classe Thread :
/**
* Returns this thread's name.
*
* @return this thread's name.
* @see #setName(String)
*/
public final String getName() {
return String.valueOf(name);
}
2. Oui
3. Oui
Dans le constructeur, Thread.currentThread() est le thread principal et Thread.currentThread() dans la méthode run est le thread actuel