Begriff
Multithreading
Warum wichtig?
Dieser Begriff ist ein Knoten im SengakujiWorks-Wissensnetz. Nutze Level 0 für die erste Einordnung, Level 1 für Praxis, Level 2 für technische Struktur und Level 3 für Grenzen, Fallstricke und Expertenkontext.
Multithreading bedeutet, dass ein Programm mehrere Threads nutzt. Dadurch kann es mehrere Aufgaben gleichzeitig oder scheinbar gleichzeitig bearbeiten.
Merksatz: Multithreading verteilt Arbeit auf mehrere Ausführungsstränge.
Ein Programm kann mit einem Thread die Oberfläche bedienen und mit einem anderen Daten laden. Server nutzen Threads oder Worker, um mehrere Anfragen parallel zu verarbeiten. Für Nutzer wirkt die Anwendung dadurch schneller und weniger blockiert.
Threads teilen Speicher, daher ist Synchronisation nötig. Locks, Mutexes, Queues, atomare Operationen und Thread Pools begrenzen Chaos. Der Scheduler entscheidet, wann welcher Thread läuft; echte Parallelität hängt von CPU-Kernen und Runtime ab.
Multithreading ist anfällig für Race Conditions, Deadlocks, Priority Inversion und schwer reproduzierbare Timing-Bugs. Nicht jede Aufgabe wird schneller: Kommunikation, Locking und Cache-Effekte können den Gewinn aufheben.
Quick-Check
Was ist der Vorteil von Multithreading?
Ein Programm kann mehrere Aufgaben parallel oder reaktionsfähiger bearbeiten.Warum braucht man Synchronisation?
Mehrere Threads können gleichzeitig dieselben Daten lesen oder verändern.Wann wird es langsamer statt schneller?
Wenn Locking, Kommunikation oder Scheduling mehr kosten als die eigentliche Arbeit.