In Java ist nur eine einzelne Vererbung zulässig, es dürfen jedoch mehrere Schnittstellen implementiert werden, sodass die zweite Methode flexibler ist.
Kopieren Sie den Codecode wie folgt:
/**
* Führen Sie Threads aus, die von der Klassendefinition java.lang.Thread geerbt wurden
*/
public void startOne() {
//Instanz erstellen
OneThread oneThread = new OneThread();
//Thread ThreadA starten
oneThread.startThreadA();
versuchen {
//Den Thread für 1 Sekunde in den Ruhezustand versetzen
Thread.sleep(1000);
} Catch (InterruptedException e) {
e.printStackTrace();
}
// Stoppen Sie den Thread. Warum verwenden Sie hier nicht die Methode stop(), da diese Methode aufgegeben wurde, aber in Deadlocks verwendet werden kann?
oneThread.stopThreadA();
}
Kopieren Sie den Codecode wie folgt:
/**
* Führen Sie Threads aus, die die Runnable-Schnittstellendefinition implementieren
*/
public void startTwo() {
//Instanz erstellen
Runnable runnable = new TwoThread();
//Füge die Instanz in den Thread ein
Thread threadB = neuer Thread (ausführbar);
//Thread starten
threadB.start();
}
Kopieren Sie den Codecode wie folgt:
//Erben Sie die Thread-Klasse, um Threads zu definieren
Klasse OneThread erweitert Thread {
privater boolescher Wert running = false;
public void start() {
this.running = true;
super.start();
}
public void run() {
int i = 0;
versuchen {
während (laufend) {
System.out.println("Erben Sie die Thread-Klasse, um den Thread-Programmkörper zu definieren..." + i++);
Thread.sleep(200);
}
} Catch (InterruptedException e) {
e.printStackTrace();
}
}
public void startThreadA() {
System.out.println("Starten Sie den durch Erben der Thread-Klasse definierten Thread");
this.start();
}
public void stopThreadA() {
System.out.println("Schließen Sie den durch die geerbte Thread-Klasse definierten Thread");
this.running = false;
}
}
Kopieren Sie den Codecode wie folgt:
// Implementieren Sie die Runnable-Schnittstelle, um Threads zu definieren
Klasse TwoThread implementiert Runnable {
privates Datum runDate;
public void run() {
System.out.println("Implementieren Sie die Runnable-Schnittstelle, um den Thread-Programmkörper zu definieren...");
this.runDate = neues Datum();
System.out.println("Thread-Startzeit..." + runDate);
}
Kopieren Sie den Codecode wie folgt:
public static void main(String[] args) {
//Objekt instanziieren
ThreadStartAndStop threadStartAndStop = new ThreadStartAndStop();
threadStartAndStop.startOne();
threadStartAndStop.startTwo();
}
Beginnen Sie mit der Vererbung des Thread-Klassendefinitions-Threads und erben Sie den Thread-Klassendefinitions-Thread-Programmkörper ... 0
Erben Sie die Thread-Klasse, um den Thread-Programmkörper zu definieren ... 1
Erben Sie die Thread-Klasse, um den Thread-Programmkörper zu definieren ... 2
Erben Sie die Thread-Klasse, um den Thread-Programmkörper zu definieren ... 3
Erben Sie die Thread-Klasse, um den Thread-Programmkörper zu definieren ... 4
Schließen Sie die geerbte Thread-Klasse, definieren Sie den Thread, implementieren Sie die Runnable-Schnittstelle und definieren Sie den Thread-Programmkörper ...
Thread-Startzeit...Fr, 15. März 12:56:57 CST 2013