Lauffähige Schnittstelle in Java: Implementierung, Schritte und Fehler

Veröffentlicht: 2021-05-02

Inhaltsverzeichnis

Einführung

Eine lauffähige Schnittstelle in Java ist eine Schnittstelle, deren Instanzen als Thread ausgeführt werden können. Bei der Arbeit mit Threads fungiert die ausführbare Schnittstelle als Kernelement der Programmiersprache Java. Java-Klassen, die zum Ausführen von Threads erstellt wurden, müssen diese Schnittstelle implementieren. Dieser Artikel vermittelt Ihnen ein tiefes Verständnis der ausführbaren Schnittstelle in Java und des Implementierungsprozesses.

Was ist die ausführbare Schnittstelle in Java?

Eine ausführbare Schnittstelle ist eine Schnittstelle, die eine einzelne Methode enthält. Das Java-Programm definiert diese einzelne Methode im java.lang-Paket und ruft sie bei der Ausführung der Thread-Klasse auf. Es stellt eine Vorlage für Objekte bereit, die eine Klasse mithilfe von Threads implementieren kann. Sie können die ausführbare Schnittstelle in Java auf eine der folgenden Arten implementieren:

  • Unterklassen-Thread verwenden
  • Überschreiben der Methode run()

Java erlaubt keine Mehrfachvererbung im Programm. Sie können nur eine Klasse erweitern, und wenn Sie eine Threadklasse erweitern, verbraucht sie mehr Speicher, Rechenzeit und andere Ressourcen. Daher fügt es den Aufwand für die Verwendung zusätzlicher Methoden hinzu. Von den beiden oben genannten Optionen ist es besser, eine lauffähige Schnittstelle zu verwenden, um einen Thread zu erstellen. Dazu müssen Sie die Implementierung für die Methode run() bereitstellen.

Schritte zum Erstellen eines Threads mithilfe der ausführbaren Schnittstelle in Java

Führen Sie die folgenden Schritte aus, um einen Thread mit der ausführbaren Schnittstelle in Java zu erstellen .

  1. Erstellen Sie eine Thread-Klasse, die die ausführbare Schnittstelle implementiert.
  2. Schreiben Sie in der Thread-Klasse eine Funktion, um die Methode run() zu überschreiben.
  3. Erstellen Sie eine Instanz der Thread-Klasse.
  4. Die Thread-Instanz hat einen Konstruktor, der das ausführbare Objekt akzeptiert. Übergeben Sie dieses Objekt als Parameter an die Threadinstanz.
  5. Rufen Sie schließlich die start-Methode der Thread-Instanz auf.

Lesen Sie auch: Ideen und Themen für Java-Projekte

Implementierung des Runnable Interface in Java

Die Implementierung der Methode run() ist die einfachste Art, einen neuen Thread zu erstellen. Es dient als Ausgangspunkt für die Erstellung eines neuen Threads. Die ausführbare Schnittstellenimplementierung verwendet den Code innerhalb der run()-Methode und führt ihn in einem gleichzeitigen Thread aus. Sie können entweder die Klasse aufrufen, neue Variablen erstellen oder die Aktion in der Methode run() aufrufen, um die ausführbare Schnittstelle in Java zu implementieren . Das Programm stellt sicher, dass der Thread inaktiv ist, bis es die return-Anweisung im Code ausgibt.

öffentliche Klasse TestRunnableInterface {

public static void main(String[] args) {

System.out.println(“Von der Methode primary(): ” + Thread.currentThread().getName());

System.out.println(“Implementieren der ausführbaren Schnittstelle in Java “);

Ausführbare Instanz = new Runnable() {@Override

öffentlich void run() {

System.out.println(“Von der Methode run(): ” + Thread.currentThread().getName());

}

};

System.out.println(“Erstelle eine neue Instanz des Thread-Objekts.”);

Thread-Test = neuer Thread (Instanz);

System.out.println("Der Thread wird ausgeführt!");

test.start();

}

}

Ausgabe

Von der Methode primary(): main

Implementierung der lauffähigen Schnittstelle in Java

Erstellen Sie eine neue Instanz des Thread-Objekts.

Aus der Methode run(): Thread-0

Beim Implementieren der ausführbaren Schnittstelle in Java aufgetretene Fehler

Die Methode run() löst einen Laufzeitausnahmefehler aus, wenn das Programm aufgrund eines Syntax- oder Codefehlers unterbrochen wird. Wenn eine virtuelle Java-Maschine die Fehler nicht erkennt, verarbeitet der erstellte Thread die von der JVM übersehene Ausnahme. Der Ausnahmehandler gibt die Ausnahme aus und stoppt das Programm.

java.io.FileNotFoundException importieren;

öffentliche Klasse TestRunnableInterface {

public static void main(String[] args) {

System.out.println(“Der primäre Thread ist: ” + Thread.currentThread().getName());

Thread-Test = neuer Thread (neues TestRunnableInterface().new DemoInstance());

test.start();

}

private Klasse DemoInstance implementiert Runnable {

öffentlich void run() {

System.out.println(Thread.currentThread().getName() + „, Aufruf der Methode run()!“);

Versuchen {

werfe neue FileNotFoundException();

}

catch(FileNotFoundException-Demo) {

System.out.println("Fehler aufgetreten!");

demo.printStackTrace();

}

}

}

}

Ausgabe

Der primäre Thread ist: main

Thread-0, ruft die Methode run() auf!

Fehler erwischt!

java.io.FileNotFoundException

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

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

Die TestRunnableInterface-Klasse im obigen Programm löst die FileNotFoundException-Ausnahme nicht aus. Die Java Virtual Machine kümmert sich um die Ausnahmen, die von der TestRunnableInstance-Klasse behandelt werden sollten.

Anwendungsfall des Runnable Interface in Java

Die ausführbare Schnittstelle in Java wird in einem Netzwerkszenario verwendet, in dem der Server mehrere Verbindungsanforderungen von Clients empfängt. Die lauffähige Schnittstelle in Java handhabt dies schnell und effizient, indem sie Multi-Thread-Programmierung durchführt.

Lernen Sie Softwareentwicklungskurse online von den besten Universitäten der Welt. Verdienen Sie Executive PG-Programme, Advanced Certificate-Programme oder Master-Programme, um Ihre Karriere zu beschleunigen.

Fazit

Kurz gesagt, eine lauffähige Schnittstelle in Java ist im Vergleich zur Unterklasse Thread immer die bessere Wahl, wenn es darum geht, Threads in Java zu erstellen. Der im Artikel verwendete Code dient nur der Erläuterung. Sie können die in den Beispielen angegebenen Anweisungen nach Ihren Anforderungen ändern. In diesem Artikel haben wir etwas über die ausführbare Schnittstelle in Java gelernt und wie Sie einen Thread erstellen können, indem Sie die ausführbare Schnittstelle in Java implementieren .

Sie können den Code ausprobieren, um die Kenntnisse Ihres Java -Konstruktors zu erweitern. Wenn Sie ein tiefgreifendes Verständnis von Java erlangen möchten, sehen Sie sich den Kurs upGrad Executive PG Program in Full Stack Development an . Dieser Kurs richtet sich an Berufstätige und bietet strenge Schulungen und Arbeitsunterstützung bei Top-Unternehmen.

Was ist Multithreading in Java?

Multithreading ist ein Konzept in Java, bei dem Aufgaben gleichzeitig ausgeführt werden. Es ermöglicht einem Programm, viele verschiedene Aufgaben gleichzeitig auszuführen, anstatt darauf zu warten, dass eine einzelne Aufgabe abgeschlossen wird. Es ist eines der beliebtesten Themen von Java und Java-Entwicklern. Multithreading ist eine der sehr mächtigen Funktionen von Java. Es nutzt die CPU effektiv, indem es mehrere Threads ausführt. Java hat ein spezielles Konstrukt namens Thread. Ein Thread ist im Grunde ein Softwareprozess, der eine beliebige Folge von Java-Bytecode-Anweisungen ausführen kann. Die Ausführung jedes Threads ist unabhängig von anderen Threads. Entwickler können jederzeit einen neuen Thread erstellen und die JVM übernimmt die Ausführung dieses Threads. Dies hilft bei der Entwicklung hochskalierbarer und reaktionsschneller Anwendungen.

Was ist eine lauffähige Schnittstelle in Java?

Die lauffähige Schnittstelle wird verwendet, um Anwendungen zu schreiben, die in einem separaten Thread ausgeführt werden können. Jede Klasse, die die ausführbare Schnittstelle implementiert, wird als Thread bezeichnet. Der Code des Threads wird vom Interpreter ausgeführt, nachdem der Thread gestartet wurde. Sie können die lauffähige Schnittstelle implementieren und Ihr eigenes Multithreading-Programm erstellen. Es gibt zwei Möglichkeiten, diese Schnittstelle zu implementieren. Die erste ist die Verwendung der Thread-Unterklasse. Die andere besteht darin, die Methode run() zu überschreiben.

Wie funktioniert eigentlich Multithreading?