Skip to content

Kapitel 18: Multithreading Grundlagen

🎯 Lernziele

  • Was sind Threads?
  • Thread erstellen (2 Methoden)
  • Thread starten

18.1 Thread-Konzept

🧵 Was ist ein Thread?

Thread = Leichtgewichtiger Ausführungspfad innerhalb eines Programms.

Vorteile:

  • Parallelverarbeitung (mehrere Aufgaben gleichzeitig!)
  • Effizienz (CPU-Leerlauf vermeiden)

🔄 Single-Thread vs. Multi-Thread

Single-ThreadMulti-Thread
Nur 1 Aufgabe gleichzeitigMehrere Aufgaben gleichzeitig
Blockiert bei WartezeitNutzt Wartezeit für andere Aufgaben

18.2 Thread erstellen (2 Methoden)

Methode 1: Thread-Klasse erweitern (extends Thread)

java
class MeineThread extends Thread {
    @Override
    public void run() {
        for (int i = 1; i <= 5; i++) {
            System.out.println(getName() + ": " + i);
            try { Thread.sleep(500); } catch (InterruptedException e) {}
        }
    }
}

public class ThreadBeispiel1 {
    public static void main(String[] args) {
        MeineThread t1 = new MeineThread();
        MeineThread t2 = new MeineThread();
        
        t1.start();  // Thread starten!
        t2.start();
    }
}

Methode 2: Runnable-Interface implementieren (empfohlen!)

java
class MeineRunnable implements Runnable {
    @Override
    public void run() {
        for (int i = 1; i <= 5; i++) {
            System.out.println(Thread.currentThread().getName() + ": " + i);
            try { Thread.sleep(500); } catch (InterruptedException e) {}
        }
    }
}

public class ThreadBeispiel2 {
    public static void main(String[] args) {
        Thread t1 = new Thread(new MeineRunnable());
        Thread t2 = new Thread(new MeineRunnable());
        
        t1.start();
        t2.start();
    }
}

→ Methode 2 (Runnable) ist flexibler (Klasse kann noch andere erweitern!)

18.3 Thread starten

⚠️ Achtung: run() vs. start()!

java
Thread t = new Thread(new MeineRunnable());

t.run();   // ❌ Falsch! Führt Thread im aktuellen Thread aus (kein neuer Thread!)
t.start();  // ✅ Richtig! Startet neuen Thread (ruft run() auf)!

📝 Zusammenfassung

In diesem Kapitel hast du gelernt:

  • ✅ Thread = Leichtgewichtiger Ausführungspfad
  • ✅ Thread erstellen (extends Thread oder implements Runnable)
  • ✅ Thread starten (start())

💡 Merksatz für Anfänger

"Für Multithreading: implements Runnable + start()!"

🎯 Nächste Schritte

Im nächsten Kapitel lernst du:

  • Lernplanung (Kapitel 19)
  • JavaWeb Lernweg
  • Framework lernen (SpringBoot)
  • Karriereberatung

📚 Weiterführende Links:

💬 Fragen?
Hinterlassen Sie einen Kommentar!

Frei für alle Anfänger