wir wussten, dass wir einen neuen Thread erstellen können, indem Sie eine neue Klasse erstellen, die Thread erweitert und dann eine Instanz dieses Threads erstellen .. während ich durch dieses Thema sah ich ein Beispiel in mein Buch, das wie folgt ist.Verwirrung beim Erstellen eines Threads durch Erweitern von Thread-Klasse
class NewThread extends Thread{
NewThread(){
super("demo thread");
System.out.println("child thread:"+this);
start();
}
public void run(){
try{
for(int i=5;i>0;i--){
System.out.println("child thread"+i);
Thread.sleep(500);
}
} catch(InterruptedException e){
System.out.println("child interrupted");
}
System.out.println("exiting child thread");
}
}
in diesem Beispiel ich in der Lage bin, all diese Dinge außer den Konstruktor Teil zu verstehen, in der wir jede Instanz nicht verwenden (Thread) beginnen() aufzurufen. So ist meine Frage, wie die start() -Methode ist ohne Thread aufgerufen.
Wenn Sie verstehen nicht, warum die 'start()' Aufruf Wenn Sie in Ihrem Konstruktor keine explizite Objektreferenz benötigen, können Sie Ihre Zeit wahrscheinlich besser nutzen, indem Sie mehr über die Java-Sprache lernen bevor Sie versuchen, Java-Threads zu verstehen. –