Maison  >  Article  >  Java  >  Que se passe-t-il si nous appelons directement la méthode run() en Java ?

Que se passe-t-il si nous appelons directement la méthode run() en Java ?

PHPz
PHPzavant
2023-09-08 14:57:021399parcourir

Que se passe-t-il si nous appelons directement la méthode run() en Java ?

L'appel direct de la méthode run() d'un objet Thread ne démarrera pas de thread séparé et peut être exécuté dans le thread actuel. Pour exécuter Runnable.run à partir d'un thread séparé, effectuez l'une des opérations suivantes

  • Construisez un objet Thread > en utilisant Runnable et appelez la méthode start() sur Thread.
  • Définissez une sous-classe de l'objet Thread et remplacez la définition de sa méthode run() . Construisez ensuite une instance de cette sous-classe et appelez directement la méthode start() de l'instance.

Exemple

public class ThreadRunMethodTest {
   public static void main(String args[]) {
      MyThread runnable = new MyThread();
      runnable.run(); // Call to run() method does not start a separate thread
      System.out.println("Main Thread");
   }
}
class MyThread extends Thread {
   public void run() {
      try {
         Thread.sleep(1000);
      } catch (InterruptedException e) {
         System.out.println("Child Thread interrupted.");
      }
      System.out.println("Child Thread");
   }
}

Dans l'exemple ci-dessus, le thread principal ThreadRunMethodTest utilise la méthode run() pour appeler le thread enfant MyThread. Cela amène le thread enfant à s'exécuter jusqu'à la fin avant que le reste du thread principal ne s'exécute, de sorte que "Child Thread" soit imprimé avant "Main Thread".

Sortie

Child Thread
Main Thread

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer