Wie die Runnable-Schnittstelle in Java zu verwenden, um einen Thread erstellen und starten

Für die Fäden, die spezifische Ereignisse Countdown wie Fluten der Startrampe ab, die Ereignisse auslösen, und Abheben, können Sie eine andere Java-Klasse erstellen genannt Auftaktveranstaltung. Diese Klasse verwendet eine andere Technik für die Erstellung und Start-Fäden - eine, die noch ein paar Zeilen Code erfordert, ist aber flexibler.

Das Problem mit dem Erstellen einer Klasse, die die extends Faden Klasse ist, dass eine Klasse eine Superklasse haben kann. Was ist, wenn Sie lieber Ihre Thread-Objekt haben eine andere Klasse erweitern? In diesem Fall können Sie eine Klasse erstellen, die implementiert Runnable Schnittstelle anstatt erstreckt sich die Faden Klasse.

Das Runnable Schnittstelle markiert ein Objekt, das als Thread ausgeführt werden kann. Es hat nur eine Methode, Lauf, dass enthält den Code, der in dem Thread ausgeführt wird. (Das Faden Klasse selbst implementiert Runnable, weshalb die Faden Klasse hat eine Lauf Verfahren.)

So verwenden Sie die Runnable Schnittstelle zu schaffen und einen Thread zu starten, müssen Sie folgendes tun:

  1. Erstellen Sie eine Klasse, die implementiert Runnable.

  2. Zur Verfügung stellen Lauf Verfahren in der Runnable Klasse.

  3. Erstellen Sie eine Instanz der Faden Klasse und übergeben Sie Ihre Runnable Objekt an den Konstruktor als Parameter.

    EIN Faden Objekt wird erstellt, das Ihre laufen kann Runnable Klasse.

  4. Ruf den Faden Objekt Anfang Verfahren.

    Das Lauf Methode Ihrer Runnable Objekt wird aufgerufen und führt in einem separaten Thread.

Die ersten beiden dieser Schritte sind einfach. Der Trick ist, in den dritten und vierten Schritt, weil Sie sie auf verschiedene Weise durchführen können. Hier ist eine Möglichkeit, unter der Annahme, dass Ihr Runnable Klasse benannt RunnableClass:

RunnableClass rc = new RunnableClass () - Thema t = new Thread (rc) -t.start () -

Java-Programmierer gerne so präzise wie möglich zu sein, so oft Sie diesen Code sehen komprimiert, um etwas mehr wie

Thema t = new Thread (neu RunnableClass ()) - t.start () -

oder auch nur dies:

. New Thread (neu RunnableClass ()) start () -

Diese Single-Line-Version funktioniert - vorausgesetzt, dass Sie nicht brauchen, Objekt, den Faden zu greifen später im Programm.

Menü