Maison  >  Article  >  Java  >  Explication détaillée de l'interface Runnable de Java pour créer des threads

Explication détaillée de l'interface Runnable de Java pour créer des threads

怪我咯
怪我咯original
2017-07-04 16:45:371051parcourir

Cet article présente principalement les informations pertinentes de l'interface Java Runnable pour créer des fils de discussion. Les amis qui en ont besoin peuvent se référer à l'

interface Java Runnable pour créer des fils de discussion<.>

Pour créer un thread, le moyen le plus simple est de créer une classe qui implémente l'interface Runnable.


Pour implémenter Runnable, une classe n'a besoin que d'exécuter un appel de méthode run(), déclaré comme suit :

public void run()
Vous pouvez surcharger cette méthode, l'important est de comprendre que run () peut appeler d'autres méthodes, utiliser d'autres classes et déclarer des

variables tout comme le thread principal.

Après avoir créé une classe qui implémente l'interface Runnable, vous pouvez instancier un thread

objet dans la classe.

Thread définit plusieurs

méthodes de constructeur, la suivante est celle que nous utilisons souvent :

Thread(Runnable threadOb,String threadName);
Ici, threadOb est une méthode qui implémente l'interface Runnable Une instance de la classe et threadName spécifie le nom du nouveau thread.

Une fois qu'un nouveau thread est créé, il ne s'exécutera pas tant que vous n'aurez pas appelé sa méthode start().

void start();

Exemple

Ce qui suit est un exemple de création d'un thread et de démarrage de son exécution :

// 创建一个新的线程
class NewThread implements Runnable {
  Thread t;
  NewThread() {
   // 创建第二个新线程
   t = new Thread(this, "Demo Thread");
   System.out.println("Child thread: " + t);
   t.start(); // 开始线程
  }

  // 第二个线程入口
  public void run() {
   try {
     for(int i = 5; i > 0; i--) {
      System.out.println("Child Thread: " + i);
      // 暂停线程
      Thread.sleep(50);
     }
   } catch (InterruptedException e) {
     System.out.println("Child interrupted.");
   }
   System.out.println("Exiting child thread.");
  }
}

public class ThreadDemo {
  public static void main(String args[]) {
   new NewThread(); // 创建一个新线程
   try {
     for(int i = 5; i > 0; i--) {
      System.out.println("Main Thread: " + i);
      Thread.sleep(100);
     }
   } catch (InterruptedException e) {
     System.out.println("Main thread interrupted.");
   }
   System.out.println("Main thread exiting.");
  }
}
Les résultats de la compilation le programme ci-dessus est le suivant :

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