Avatar ·

In Java: implements Runnable vs extends Thread – was wählen?

Hallo zusammen! Ich habe angefangen, Multithreading in Java zu lernen, und bin bei einem grundlegenden Punkt verwirrt. Wir erstellen Threads auf zwei Arten: entweder erben wir von der Klasse Thread oder implementieren das Interface Runnable. Beide scheinen zu funktionieren, aber ich verstehe nicht, worin der prinzipielle Unterschied besteht und welche Methode als richtig gilt. Zum Beispiel habe ich diesen Code geschrieben: ```java // Methode 1: extends Thread class MyThread extends Thread { public void run() { System.out.println("Thread läuft: " + Thread.currentThread().getName()); } } // Methode 2: implements Runnable class MyRunnable implements Runnable { public void run() { System.out.println("Thread läuft: " + Thread.currentThread().getName()); } } public class Main { public static void main(String[] args) { MyThread t1 = new MyThread(); t1.start(); Thread t2 = new Thread(new MyRunnable()); t2.start(); } } ``` Beide Varianten liefern das gleiche Ergebnis. Aber ich habe gehört, dass implements