CPublic class test1 Extends Thread {
@v@v {while (true) {System.out.println (thread.currentthRead (). GetName ()) } } public static void main(String[] args) { Test1 test1=new Test1(); test1.run(); //Résultat de sortie main test1.start( //Résultat de sortie Thread -0 }}
1.start
start consiste à démarrer un nouveau fil de discussion.
Lorsqu'un thread est démarré avec start(), le thread entre dans l'état prêt, rendant le processeur virtuel représenté par le thread dans un état exécutable, ce qui signifie qu'il peut être planifié et exécuté par la JVM. Mais cela ne signifie pas que le thread s’exécutera immédiatement. Ce n'est que lorsque le processeur alloue une tranche de temps et que ce thread obtient la tranche de temps qu'il commence à exécuter la méthode run(). start() ne peut pas être appelé à plusieurs reprises, il appelle la méthode run(). La méthode run() est quelque chose que vous devez remplacer2 run
run() est comme une méthode membre ordinaire et peut être appelée à plusieurs reprises. .
Si vous appelez directement la méthode run, aucun nouveau fil de discussion ne sera démarré ! Il n'y a toujours qu'un seul thread dans le programme, le thread principal, et il n'y a toujours qu'un seul chemin d'exécution du programme. Il doit toujours être exécuté séquentiellement, et il doit toujours attendre que le corps de la méthode d'exécution soit exécuté avant de continuer à s'exécuter. le code suivant. De cette façon, l'objectif du multithreading n'est pas atteint. Appelez la méthode start pour démarrer le thread, et la méthode run n'est qu'un appel de méthode normal du thread, qui est toujours exécuté dans le thread principal.Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!