Maison > Java > javaDidacticiel > le corps du texte

Quelle est la différence entre démarrer et exécuter dans le thread Java

WBOY
Libérer: 2023-04-20 12:37:18
avant
1728 Les gens l'ont consulté

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 remplacer

2 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!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal