Maison > Java > javaDidacticiel > le corps du texte

Comment écrire une classe qui implémente l'interface Runnable en Java ?

WBOY
Libérer: 2023-05-09 19:52:15
avant
1642 Les gens l'ont consulté

L'interface Runnable n'a qu'une seule méthode, run(). Nous déclarons que notre classe implémente l'interface Runnable et fournit cette méthode, et y écrit notre code de thread pour terminer cette partie de la tâche.

Mais l'interface Runnable n'a aucun support pour les threads. Nous devons également créer une instance de la classe Thread, ce qui est réalisé via le constructeur public Thread(Runnable target); Voici un exemple :

public class MyThread implements Runnable  {   int count= 1, number;   public MyThread(int num)  {   numnumber = num;   System.out.println("创建线程 " + number);   }   public void run()  {   while(true)  {   System.out.println  ("线程 " + number + ":计数 " + count);   if(++count== 6) return;   }   }   public static void main(String args[])  {   for(int i = 0; i 〈 5;  i++) new Thread(new MyThread(i+1)).start();   }   }
Copier après la connexion

À proprement parler, il est également possible de créer une instance d'une sous-classe Thread, mais il faut noter que la sous-classe ne doit pas remplacer la méthode run de la classe Thread, sinon le thread exécutera le méthode run de la sous-classe au lieu de la méthode run de la classe que nous utilisons pour implémenter l'interface Runnable, vous pourriez aussi bien l'essayer.

L'utilisation de l'interface Java Runnable pour implémenter le multithreading nous permet de contenir tout le code dans une seule classe, ce qui est propice à l'encapsulation. Son inconvénient est que nous ne pouvons utiliser qu'un seul ensemble de code si nous voulons créer plusieurs threads et créer. chaque thread s'exécute Si le code est différent, vous devez toujours créer une classe supplémentaire. Si tel est le cas, dans la plupart des cas, cela peut ne pas être aussi compact que l'utilisation directe de plusieurs classes pour hériter de 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!

É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