Maison > Java > javaDidacticiel > En Java, quand appeler Thread.run() au lieu de Thread.start() ?

En Java, quand appeler Thread.run() au lieu de Thread.start() ?

WBOY
Libérer: 2023-09-15 12:13:02
avant
1224 Les gens l'ont consulté

En Java, quand appeler Thread.run() au lieu de Thread.start() ?

Lorsque nous appelons la méthode start() sur un thread, cela provoque le démarrage de l'exécution du thread et la méthode run() du thread est appelée par la machine virtuelle Java (JVM). Si nous appelons directement la méthode run(), elle sera traitée comme une normale méthode surchargée de la classe thread (ou de l'interface exécutable), et elle sera exécutée dans le contexte du thread actuel, pas dans un nouveau fil en exécution.

Exemple

public class CallRunMethodTest extends Thread {
   @Override
   public void run() {
      System.out.println("In the run() method: " + Thread.currentThread().getName());
      for(int i = 0; i < 5 ; i++) {
         System.out.println("i: " + i);
         try {
            Thread.sleep(300);
         } catch (InterruptedException ie) {
            ie.printStackTrace();
         }
      }
  }
   public static void main(String[] args) {
      CallRunMethodTest t1 = new CallRunMethodTest();
      CallRunMethodTest t2 = new CallRunMethodTest();
      t1.run(); <strong>// calling run() method directly instead of start() method</strong>
      t2.run(); <strong>// calling run() method directly instead of start() method</strong>
   }
}
Copier après la connexion

Dans l'exemple ci-dessus, deux threads sont créés et la méthode run() est appelée directement sur les threads au lieu d'appeler la méthode start().

Sortie

In the run() method: main
i: 0
i: 1
i: 2
i: 3
i: 4
In the run() method: main
i: 0
i: 1
i: 2
i: 3
i: 4
Copier après la connexion

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:tutorialspoint.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