


Explication détaillée de la différence entre Thread et Runnable dans le multithreading Java
Cet article présente principalement des informations pertinentes sur la différence entre les threads multithread Java et les exécutables. Il existe deux façons pour les threads Java d'hériter de la classe thread et d'implémenter l'interface exécutable. Des exemples sont fournis ci-dessous pour aider tout le monde à comprendre. le besoin peut s'y référer
La différence entre Java multi-thread Thread et runnable
Il existe deux façons d'implémenter le multi-threading en Java : hériter de la classe Thread et implémenter l'interface exécutable
1. Hériter de la classe Thread et remplacer la méthode run() de la classe parent
public class thread1 extends Thread { public void run() { for (int i = 0; i < 10000; i++) { System.out.println("我是线程"+this.getId()); } } public static void main(String[] args) { thread1 th1 = new thread1(); thread1 th2 = new thread1(); th1.run(); th2.run(); } }
La méthode run() est tout simplement ordinaire. Les méthodes sont exécutées séquentiellement, c'est-à-dire que th2.run() n'est exécutée qu'une fois th1.run() terminée, donc un seul thread principal est utilisé pour l'écriture. Le multithreading n'a aucun sens, donc la méthode start() doit être utilisée pour démarrer le thread. La méthode start() appellera automatiquement la méthode run(). Le code ci-dessus est remplacé par :
public class thread1 extends Thread { public void run() { for (int i = 0; i < 10000; i++) { System.out.println("我是线程"+this.getId()); } } public static void main(String[] args) { thread1 th1 = new thread1(); thread1 th2 = new thread1(); th1.start(); th2.start(); } }
Démarrez un nouveau fil de discussion via la méthode start(). De cette façon, que la méthode run() appelée par th1.start() ait été exécutée ou non, th2.start() continuera à être exécutée s'il y a un autre code ci-dessous, il n'est pas nécessaire d'attendre th2. start() pour terminer l’exécution et poursuivre l’exécution. (Les ID de thread de sortie sont générés de manière aléatoire en alternance)
2, implémentez l'interface exécutable
public class thread2 implements Runnable { public String ThreadName; public thread2(String tName){ ThreadName = tName; } public void run() { for (int i = 0; i < 10000; i++) { System.out.println(ThreadName); } } public static void main(String[] args) { thread2 th1 = new thread2("线程A"); thread2 th2 = new thread2("Thread-B"); th1.run(); th2.run(); } }
Comme la méthode run de Thread, l'exécution de Runnable n'est qu'une méthode normale, th2.run() doit attendre la fin de th1.run() avant de pouvoir être exécuté. À des fins multithread, vous devez également utiliser la méthode start() de Thread (runnable n'a pas de méthode start). Le code ci-dessus est modifié comme suit :
public class thread2 implements Runnable { public String ThreadName; public thread2(String tName){ ThreadName = tName; } public void run() { for (int i = 0; i < 10000; i++) { System.out.println(ThreadName); } } public static void main(String[] args) { thread2 th1 = new thread2("线程A"); thread2 th2 = new thread2("Thread-B"); Thread myth1 = new Thread(th1); Thread myth2 = new Thread(th2); myth1.start(); myth2.start(); } }
Résumé : Il existe deux façons d'implémenter le multi-threading Java. interface et thread est une classe. , runnable ne fournit qu'une seule méthode d'exécution. Il est recommandé d'utiliser runable pour implémenter le multi-threading Java. Quoi qu'il en soit, vous devrez éventuellement utiliser thread.start() pour rendre le thread exécutable. État.
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Guide du nombre parfait en Java. Nous discutons ici de la définition, comment vérifier le nombre parfait en Java ?, des exemples d'implémentation de code.

Guide du générateur de nombres aléatoires en Java. Nous discutons ici des fonctions en Java avec des exemples et de deux générateurs différents avec d'autres exemples.

Guide de Weka en Java. Nous discutons ici de l'introduction, de la façon d'utiliser Weka Java, du type de plate-forme et des avantages avec des exemples.

Guide du nombre de Smith en Java. Nous discutons ici de la définition, comment vérifier le numéro Smith en Java ? exemple avec implémentation de code.

Dans cet article, nous avons conservé les questions d'entretien Java Spring les plus posées avec leurs réponses détaillées. Pour que vous puissiez réussir l'interview.

Java 8 présente l'API Stream, fournissant un moyen puissant et expressif de traiter les collections de données. Cependant, une question courante lors de l'utilisation du flux est: comment se casser ou revenir d'une opération FOREAK? Les boucles traditionnelles permettent une interruption ou un retour précoce, mais la méthode Foreach de Stream ne prend pas directement en charge cette méthode. Cet article expliquera les raisons et explorera des méthodes alternatives pour la mise en œuvre de terminaison prématurée dans les systèmes de traitement de flux. Lire plus approfondie: Améliorations de l'API Java Stream Comprendre le flux Forach La méthode foreach est une opération terminale qui effectue une opération sur chaque élément du flux. Son intention de conception est

Guide de TimeStamp to Date en Java. Ici, nous discutons également de l'introduction et de la façon de convertir l'horodatage en date en Java avec des exemples.

Les capsules sont des figures géométriques tridimensionnelles, composées d'un cylindre et d'un hémisphère aux deux extrémités. Le volume de la capsule peut être calculé en ajoutant le volume du cylindre et le volume de l'hémisphère aux deux extrémités. Ce tutoriel discutera de la façon de calculer le volume d'une capsule donnée en Java en utilisant différentes méthodes. Formule de volume de capsule La formule du volume de la capsule est la suivante: Volume de capsule = volume cylindrique volume de deux hémisphères volume dans, R: Le rayon de l'hémisphère. H: La hauteur du cylindre (à l'exclusion de l'hémisphère). Exemple 1 entrer Rayon = 5 unités Hauteur = 10 unités Sortir Volume = 1570,8 unités cubes expliquer Calculer le volume à l'aide de la formule: Volume = π × r2 × h (4
