Différence entre runnable et thread

Différence entre runnable et thread

Différence clé - Runnable vs fil
 

Un programme d'exécution est connu comme un processus. Le processus peut être divisé en plusieurs sous-processus. Par exemple, Microsoft Word est un processus. En même temps, il vérifie l'erreur d'orthographe et la grammaire. C'est un sous-processus. Ces sous-processus sont appelés fils. Le multithreading est le processus d'exécution simultanément des threads. Les applications filetées peuvent être construites en utilisant différents langages de programmation. Runnable et le thread est associé à la programmation Java. Il existe deux méthodes en Java pour créer un thread en implémentant une interface runnable ou en étendant la classe de threads. Lors de la mise en œuvre de Runnable, de nombreux threads peuvent partager le même objet de thread tout en étendant la classe de threads, chaque thread a un objet unique associé à lui. C'est le différence clé entre runnable et fil.

CONTENU

1. Aperçu et différence clé
2. Qu'est-ce qui est runnable
3. Qu'est-ce que le fil
4. Similitudes entre Runnable et Thread
5. Comparaison côte à côte - filable vs fil sous forme tabulaire
6. Résumé

Qu'est-ce qui est runnable?

Un fil passe par certains états. Le «nouveau» est le début du cycle de vie du fil. Après la méthode start () sur un nouveau thread, il devient exécuté. Si le planificateur de thread sélectionne le thread, il se transforme à l'état en cours d'exécution.  Le thread attend l'état si ce thread attend qu'un autre thread effectue une tâche. Une fois le thread terminé les travaux, il va à l'état de résiliation.

Un thread peut être implémenté en utilisant l'interface Runnable. Référer le programme ci-dessous.

Figure 01: Programme Java pour créer un thread à l'aide d'interface Runnable

Selon le programme ci-dessus, la classe Runnable Demo implémente l'interface Runnable. La méthode run () se trouve à l'intérieur de la classe qui implémente l'interface Runnable. C'est le point d'entrée du fil. La logique est dans la méthode Run (). Dans le programme principal, un thread est créé en définissant un objet qui a instancié à partir de la classe de démonstration Runnable. C'est T1. La méthode start () est appelée à l'aide de T1.

Référer le programme ci-dessous.

Figure 02: Programme Java pour créer un thread pour exécuter une boucle, en implémentant l'interface Runnable

Selon l'exemple ci-dessus, la classe Runnable Demo implémente l'interface Runnable. La logique à exécuter à l'aide du thread est écrite dans la méthode run (). Dans le programme principal, un thread est créé en définissant un objet qui a instancié à partir de la classe de démonstration Runnable. C'est T1. Ensuite, la méthode start () est appelée à l'aide de T1.

Qu'est-ce que le fil?

L'autre méthode de création d'un thread est en étendant la classe de threads. Il se compose de trois étapes. Le premier consiste à déclarer la classe comme étendant la classe de threads. Ensuite, la méthode run () doit être écrite. Il a la séquence d'étapes que le thread doit exécuter.  Enfin, l'objet thread est créé et la méthode start () est appelée pour initier l'exécution du thread. Référer le programme ci-dessous.

Figure 03: Programme Java qui étend la classe de threads

Selon le programme ci-dessus, la classe Mythread étend la classe de threads. Il remplace la méthode d'exécution. La méthode run () contient la logique à exécuter par le thread. C'est le point d'entrée du fil. Alors l'objet de thread est créé. C'est thread1. Le thread est démarré à l'aide de la méthode start (). Il exécutera un appel pour exécuter () la méthode.

Un exemple de programme de deux classes étendant la classe de threads est le suivant.

Figure 04: Programme Java avec deux classes qui étendent la classe de threads

Selon le programme ci-dessus, les deux classe A et B étendent la classe de threads. Les deux classes ont leur implémentation de la méthode Run ().  Le thread principal est qui exécute la méthode principale (). Avant que le thread principal ne meure, il crée et démarre Thread1 et Thread2. Au moment où le thread principal a atteint la fin de la méthode principale, trois threads fonctionnent en parallèle. Il n'y a pas d'ordre spécifique dans lequel les threads donnent une sortie. Une fois le thread démarré, il est difficile de décider de l'ordre qu'ils exécuteront. Ils courent indépendamment.

Quelles sont les similitudes entre courir et le fil?

  • Les deux utilisent pour créer un fil en java.

Quelle est la différence entre courir et fil?

Runnable vs thread

Runnable est une interface en Java pour créer un thread qui permet à de nombreux threads de partager le même objet de thread. Le thread est une classe en Java pour créer un thread où chaque thread a un objet unique associé à lui.
 Mémoire
Dans Runnable, plusieurs threads partagent le même objet, donc nécessitent moins de mémoire. Dans la classe de thread, chaque thread crée un objet unique, il faut donc plus de mémoire.
Capacité de prolongement
Après implémentation de l'interface Runnable, il peut étendre une classe. Les héritages multiples ne sont pas pris en charge en Java. Après avoir étendu la classe de threads, il ne peut prolonger aucune autre classe.
 Maintenabilité du code
L'interface Runnable rend le code plus maintenable. Dans la classe de fil, le maintien du temps qui prend du temps.

Résumé - Runnable vs fil 

Un processus est divisé en plusieurs sous-processus pour effectuer plusieurs tâches en même temps. Ces sous-processus sont appelés fils. L'instanciation d'un thread peut être effectué en implémentant l'interface runnable ou en étendant la classe de threads. Il est facile d'étendre la classe de threads, mais ce n'est pas une meilleure pratique de programmation orientée objet. Lors de la mise en œuvre de Runnable, de nombreux threads peuvent partager le même objet de thread tout en étendant la classe de threads, chaque thread a un objet unique associé. C'est la différence entre courir et fil. Dans la classe de threads, la création d'objets multiples peut consommer plus de mémoire.

Téléchargez le PDF de Runnable vs Thread

Vous pouvez télécharger la version PDF de cet article et l'utiliser à des fins hors ligne selon la note de citation. Veuillez télécharger la version PDF ici différence entre Runnable et Thread

Référence:

1.tutorielpoint.com. «Java Multithreading."Le point, disponible ici 
2.Pramodbablad. «Étend le fil par rapport aux outils relants en Java.”Java Concept of the Day, 11 novembre. 2016. Disponible ici
3.Façons de créer un fil dans Java Multithreading | Tutoriel de base Java | StudyTonight. Disponible ici