Die Runnable-Schnittstelle verfügt nur über eine Methode, run(). Wir erklären, dass unsere Klasse die Runnable-Schnittstelle implementiert und diese Methode bereitstellt, und schreiben unseren Thread-Code hinein, um diesen Teil der Aufgabe abzuschließen.
Aber die Runnable-Schnittstelle bietet keine Unterstützung für Threads. Wir müssen auch eine Instanz der Thread-Klasse erstellen, was über den Konstruktor public Thread (Runnable target) erreicht wird Thread-Klasse. Das Folgende ist ein Beispiel:
public class MyThread implements Runnable { int count= 1, number; public MyThread(int num) { numnumber = num; System.out.println("创建线程 " + number); } public void run() { while(true) { System.out.println ("线程 " + number + ":计数 " + count); if(++count== 6) return; } } public static void main(String args[]) { for(int i = 0; i 〈 5; i++) new Thread(new MyThread(i+1)).start(); } }
Genau genommen ist es auch möglich, eine Instanz einer Thread-Unterklasse zu erstellen, es muss jedoch beachtet werden, dass die Unterklasse die Ausführungsmethode der Thread-Klasse nicht überschreiben darf. Andernfalls wird der Thread ausgeführt. Es handelt sich um die Ausführungsmethode der Unterklasse, nicht um die Ausführungsmethode der Klasse, die wir zum Implementieren der Runnable-Schnittstelle verwenden. Sie können es also genauso gut ausprobieren.
Die Verwendung der Java Runnable-Schnittstelle zur Implementierung von Multithreading ermöglicht es uns, den gesamten Code in einer Klasse zu enthalten, was der Kapselung förderlich ist. Der Nachteil besteht darin, dass wir nur einen Codesatz verwenden können, wenn wir möchten Wenn Sie möchten, dass jeder Thread unterschiedlichen Code ausführt, müssen Sie dennoch eine zusätzliche Klasse erstellen. In den meisten Fällen ist dies möglicherweise nicht so kompakt wie das direkte Erben von Threads von mehreren Klassen.
Das obige ist der detaillierte Inhalt vonWie schreibe ich eine Klasse, die die Runnable-Schnittstelle in Java implementiert?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!