Interface exécutable en Java : implémentation, étapes et erreurs

Publié: 2021-05-02

Table des matières

introduction

Une interface exécutable en Java est une interface dont les instances peuvent s'exécuter en tant que Thread. Lorsque vous travaillez avec Threads, l'interface exécutable agit comme un élément central du langage de programmation Java. Les classes Java créées pour exécuter Threads doivent implémenter cette interface. Cet article vous donnera une compréhension approfondie de l' interface exécutable en Java et du processus de mise en œuvre.

Qu'est-ce que l'interface exécutable en Java ?

Une interface exécutable est une interface qui contient une seule méthode. Le programme Java définit cette méthode unique dans le package java.lang et l'appelle lors de l'exécution de la classe thread. Il fournit un modèle pour les objets qu'une classe peut implémenter à l'aide de Threads. Vous pouvez implémenter l' interface exécutable en Java de l'une des manières suivantes :

  • Utiliser le thread de sous-classe
  • Surcharger la méthode run()

Java n'autorise pas les héritages multiples dans le programme. Vous ne pouvez étendre qu'une seule classe, et lorsque vous étendez une classe de thread, elle consomme plus de mémoire, de temps de calcul et d'autres ressources. Par conséquent, cela ajoute la surcharge liée à l'utilisation de méthodes supplémentaires. Parmi les deux options ci-dessus, il est préférable d'utiliser une interface exécutable pour créer un thread. Pour ce faire, vous devez fournir l'implémentation de la méthode run().

Étapes pour créer un thread à l'aide de l'interface exécutable en Java

Effectuez les étapes suivantes pour créer un thread à l'aide de l' interface exécutable dans Java .

  1. Créez une classe de thread qui implémentera l'interface exécutable.
  2. Dans la classe thread, écrivez une fonction pour remplacer la méthode run().
  3. Créez une instance de la classe Thread.
  4. L'instance de thread a un constructeur qui accepte l'objet exécutable. Transmettez cet objet en tant que paramètre à l'instance de thread.
  5. Enfin, appelez la méthode start de l'instance de thread.

Lisez également : Idées et sujets de projet Java

Implémentation de l'interface exécutable en Java

L'implémentation de la méthode run() est le moyen le plus simple de créer un nouveau thread. Il agit comme un point de départ pour créer un nouveau Thread. L'implémentation de l'interface exécutable utilise le code à l'intérieur de la méthode run() et l'exécute sur un thread concurrent. Vous pouvez invoquer la classe, créer de nouvelles variables ou appeler l'action dans la méthode run() pour implémenter l' interface exécutable en Java . Le programme s'assure que le thread est inactif jusqu'à ce qu'il imprime l'instruction de retour dans le code.

public class TestRunnableInterface {

public static void main(String[] args) {

System.out.println("De la méthode primaire() : " + Thread.currentThread().getName());

System.out.println("Implémentation de l' interface exécutable en Java ");

Instance exécutable = new Runnable() {@Override

public void run() {

System.out.println(“De la méthode run() : ” + Thread.currentThread().getName());

}

} ;

System.out.println("Créer une nouvelle instance de l'objet thread.");

Test de thread = nouveau Thread(instance);

System.out.println("Exécution du thread !");

test.start();

}

}

Sortir

De la méthode primary() : main

Implémentation de l' interface exécutable en Java

Créez une nouvelle instance de l'objet thread.

À partir de la méthode run() : Thread-0

Erreurs rencontrées lors de l'implémentation de l'interface exécutable en Java

La méthode run() génère une erreur d'exception d'exécution lorsque le programme s'interrompt en raison d'une erreur de syntaxe ou de code. Si une machine virtuelle Java ne détecte pas les erreurs, le thread créé gère l'exception manquée par la JVM. Le gestionnaire d'exceptions imprime l'exception et arrête le programme.

importer java.io.FileNotFoundException ;

public class TestRunnableInterface {

public static void main(String[] args) {

System.out.println(“Le thread principal est : ” + Thread.currentThread().getName());

Test de thread = nouveau thread (nouveau TestRunnableInterface().new DemoInstance());

test.start();

}

la classe privée DemoInstance implémente Runnable {

public void run() {

System.out.println(Thread.currentThread().getName() + ", appelant la méthode run()!");

essayer {

lancer une nouvelle exception FileNotFoundException();

}

catch (démo FileNotFoundException) {

System.out.println("Une erreur a été détectée !");

demo.printStackTrace();

}

}

}

}

Sortir

Le thread principal est : main

Thread-0, invoquant la méthode run() !

J'ai attrapé une erreur !

java.io.FileNotFoundException

à TestRunnableInterface$DemoInstance.run(Example.java:21)

sur java.lang.Thread.run(Thread.java:748)

La classe TestRunnableInterface dans le programme ci-dessus ne lève pas l'exception FileNotFoundException. La machine virtuelle Java prend en charge les exceptions qui auraient dû être gérées par la classe TestRunnableInstance.

Cas d'utilisation de l'interface exécutable en Java

L' interface exécutable de Java est utilisée dans un scénario de mise en réseau où le serveur reçoit plusieurs demandes de connexion de clients. L' interface exécutable en Java le gère rapidement et efficacement en effectuant une programmation multi-thread.

Apprenez des cours de développement de logiciels en ligne dans les meilleures universités du monde. Gagnez des programmes Executive PG, des programmes de certificat avancés ou des programmes de maîtrise pour accélérer votre carrière.

Conclusion

En un mot, une interface exécutable en Java est toujours un meilleur choix par rapport au thread de sous-classe lorsqu'il s'agit de créer des threads en Java. Le code utilisé dans l'article est uniquement à des fins explicatives. Vous pouvez modifier les instructions données dans les exemples selon vos besoins. Dans cet article, nous avons découvert l' interface exécutable en Java et comment vous pouvez créer un thread en implémentant l' interface exécutable en Java .

Vous pouvez essayer le code pour renforcer les connaissances de votre constructeur Java . Si vous souhaitez acquérir une compréhension approfondie de Java, consultez le cours upGrad Executive PG Program in Full Stack Development . Ce cours est conçu pour les professionnels en activité et offre une formation rigoureuse et une assistance professionnelle avec les meilleures entreprises.

Qu'est-ce que le multithreading en Java ?

Le multithreading est un concept en Java dans lequel les tâches sont exécutées simultanément. Il permet à un programme d'effectuer plusieurs tâches différentes simultanément au lieu d'attendre qu'une seule tâche soit terminée. C'est l'un des sujets les plus populaires des développeurs Java et Java. Le multithreading est l'une des fonctionnalités les plus puissantes de Java. Il utilise efficacement le processeur en exécutant plusieurs threads. Java a une construction spéciale appelée thread. Un thread est essentiellement un processus logiciel qui peut exécuter une séquence arbitraire d'instructions de bytecode Java. L'exécution de chaque thread est indépendante des autres threads. Les développeurs peuvent créer un nouveau thread à tout moment et la JVM se chargera de l'exécution de ce thread. Cela aide à développer une application hautement évolutive et réactive.

Qu'est-ce qu'une interface exécutable en Java ?

L'interface exécutable est utilisée pour écrire des applications qui peuvent s'exécuter dans un thread séparé. Toute classe qui implémente l'interface exécutable est appelée un thread. Le code du thread est exécuté par l'interpréteur après le démarrage du thread. Vous pouvez implémenter l'interface exécutable et créer votre propre programme multithreading. Il existe deux manières d'implémenter cette interface. La première consiste à utiliser la sous-classe de thread. L'autre consiste à remplacer la méthode run().

Comment fonctionne le multithreading ?