OCJP Beispielfrage.. Verständnisproblem

  • Themenstarter Themenstarter Konz
  • Beginndatum Beginndatum
K

Konz

Gast
Hallo,

Folgende Beispielfrage ist gegeben:

Was ist das Ergebnis, wenn folgender Code kompiliert und ausgeführt wird?

Java:
public class Athene implements Runnable {

    public static void main(String[] args) {
        Thread.currentThread().setName("Thread-A");
        new Thread(new Athene());
        System.out.print(Thread.currentThread().getName() + " ");
    }
    
    public void run() {
        System.out.print(Thread.currentThread().getName().equals("Thread-A") + " ");
        Thread.currentThread().setName("Thread-B");
        System.out.print(Thread.currentThread().getName() + " ");
    }
}

Die Antwort soll sein:

Ausgabe ist immer: true Thread-B Thread-B

Meine Frage ist: Warum?
Es wird zwar ein Thread mit Athene als runnable erzeugt, aber nie gestartet, warum soll also die run Methode ausgeführt werden?
 

Zurück
Oben